0

我想通过使用捆绑将两个值传递给意图,但是当我单击意图时该值没有传递。下面是这个的源代码:

    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);
4

2 回答 2

2

Bundle建立在 之上HashMap,使用相同的键来存储值将导致您放置给我的最后一个元素替换为您正在插入的项目。使用不同的键:

例如:

 public static final String ID_EXTRA = "com.example._ID2";
 protected static final String ID_LISTID = "com.example._ID1";
于 2012-11-29T13:09:14.673 回答
0

如果不提供额外数据,没有人可以回答这个问题:

  • ID_EXTRA 的值是多少。
  • ID_LISTID 的值是多少。

他们不应该是一样的!您提供了两个相同的值。将其更改为“ com.example._ID1”和“ com.example._ID2”之类的内容。

  • myid,怀疑这是一个整数。请通过 putInt 列表添加
  • 什么是清单?你说它是一个字符串,但我真的不相信。如果是,请将您的变量重命名为更易于理解的名称。不仅适合您,也适合使用您的代码的人。
于 2012-11-29T13:00:12.537 回答