我已经搜索了SE和谷歌,并找到了一些我认为是很好的例子,说明了如何与putExtra()
一起实现getStringExtra()
。
我似乎无法解决的问题是,我的putExtra数据似乎从未从目标活动中的getStringExtra调用中检索。
我已经尝试了无数的SE例子,其他人问了无数次这个问题,但它似乎从来没有让我更接近一个工作基础来扩展。
我的主要活动是如下所示(首先,我尝试了这一点,但没有成功)
// Click handler for group list items
lvGroups.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
int gid = groupIds.get(arg2);
Intent intent = new Intent(RadSMS_Activity.this, RadSMS_CreateGroup.class);
intent.putExtra("SELECTED_GROUP_ID", gid);
startActivity(intent);
finish();
}
});
(然后,我试过这个。也没有运气。)
// Click handler for group list items
lvGroups.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
int gid = groupIds.get(arg2);
Intent target = new Intent();
target.putExtra("SELECTED_GROUP_ID", gid);
Intent intent = new Intent(RadSMS_Activity.this, RadSMS_CreateGroup.class);
startActivity(intent);
finish();
}
});
我要从中提取值的目标活动如下;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.creategroup);
String strGID = getIntent().getStringExtra("SELECTED_GROUP_ID");
selectedGID = new Long(strGID);
// ... additional code would be here
}
为了简洁起见,函数被截断。
因此,根据我到目前为止所看到的一切,我似乎做得很好,但是当我在selectedGID被赋值的行上放置一个断点时,strGID总是为null。这真的开始让我发疯了。
有人能告诉我我做错了什么吗?
发布于 2011-04-02 04:38:08
gid是个整数。你在放一个整数。你似乎在试图检索一个字符串。考虑:
int gid= getIntent().getIntExtra("SELECTED_GROUP_ID",-1);
发布于 2011-04-02 04:33:36
您正在将整数值作为字符串获得。它将始终返回null。使用intent.getExtras().getInt()而不是intent.getStringExtra()。
https://stackoverflow.com/questions/5521126
复制相似问题