2012-11-29 114 views
0

我想通過使用bundle將兩個值傳遞給intent,但是當我單擊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); 
+1

什麼是'list'包含? – user370305

+0

list = getIntent()。getStringExtra(main.ID_EXTRA); 列表價值,我從主要活動得到的價值.. – johnk

回答

2

Bundle是在HashMap建成,使用相同的密鑰,以便存儲值將使你把我跟你插入的項目替換最後一個元素。使用不同的密鑰:

例如:

public static final String ID_EXTRA = "com.example._ID2"; 
protected static final String ID_LISTID = "com.example._ID1"; 
+0

thx傢伙....我解決了我的問題.....真的很感謝指導... – johnk

0

沒人能回答這個問題,而不提供額外的數據:

  • 什麼是ID_EXTRA的價值。
  • ID_LISTID的價值是什麼。

他們不應該是一樣的!您提供了相同的值。將其更改爲「com.example._ID1」和「com.example._ID2」之類的內容。

  • myid,懷疑這是一個整數。請通過putInt列表添加
  • 什麼是列表?你說這是一個字符串,但我真的不相信 那。如果是,請將您的變量重命名爲更多理解。不僅適用於您,也適用於要使用您的代碼的人。