我试图使用intent在活动之间传递一个整数.源活动使调用info.id成为ListView中的选定项.
Intent intent = new Intent(myActivity.this, newClass.class);
intent.putExtra("selectedItem", info.id);
this.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
目标活动使用getIntent然后调用来检索intent
int iSelectedItem = intent.getIntExtra("selectedItem", -1);
Run Code Online (Sandbox Code Playgroud)
iSelectedItem始终为-1而不是传递给putExtra的值.有人可以告诉我我做错了什么或者我是否误解了意图的使用?
小智 22
问题是info.id将是一个'long'而不是转换为'int'.尝试
long iSelectedItem = intent.getLongExtra("selectedItem", -1)
Run Code Online (Sandbox Code Playgroud)
Vik*_*kas 12
我找不到putIntExtra()
方法.所以我最终得到了以下内容:
intent.putExtra("jobId", 1);
Run Code Online (Sandbox Code Playgroud)
和
Integer.parseInt(getIntent().getExtras().get("jobId").ToString());
Run Code Online (Sandbox Code Playgroud)
使用try和catch来处理异常.
UPDATE
后来我发现我将jobId作为putExtra()
方法中的字符串传递,因此getIntExtra()
总是返回默认值.
所以@Grant是正确的.您必须在putExtra()
方法中传递Integer值才能使用getIntExtra()
方法.
归档时间: |
|
查看次数: |
37758 次 |
最近记录: |