我想通过使用bundle将两个值传递给intent,但是当我单击intent时该值没有传递。以下是此源代码:
public static final String ID_EXTRA = "com.example._ID";
protected static final String ID_LISTID = "com.example._ID";
String list = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
list = getIntent().getStringExtra(main.ID_EXTRA);
listView = (ListView) findViewById(R.id.productList);
{
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
myid = (int) id;
}
});
}
==============================================================================
Bundle bundle = new Bundle();
bundle.putString(ID_EXTRA, String.valueOf(myid));
bundle.putString(ID_LISTID, list);
editProduct.putExtras(bundle);
startActivity(editProduct);
答案 0 :(得分:2)
Bundle
建立在HashMap
之上,使用相同的密钥存储值将导致您输入的最后一个元素替换为您要插入的项目。使用不同的键:
例如:
public static final String ID_EXTRA = "com.example._ID2";
protected static final String ID_LISTID = "com.example._ID1";
答案 1 :(得分:0)
没有提供额外数据,没人能回答这个问题:
它们应该不一样!您提供了相同的值。将其更改为“com.example._ID1
”和“com.example._ID2
”。