2012-03-12 63 views
1

我知道有一組方法用於將數據從一個活動傳遞到下一個使用,但是如何使用列表視圖在活動中對其進行建模?在一個android列表視圖中將元數據從一個活動傳遞到下一個

例如:我有一個json對象,我用它來填充listview。每個列表項都有一個ID。我想在點擊時將ID傳遞給下一個活動。我如何知道該listview的項目ID?我不知道如何將任意元數據附加到列表視圖項目,並立即抓住並傳遞它。

public class StuffListActivity extends ListActivity 
{ 
    private MyApplication application = null; 

    /** 
    * Called when the activity is first created. 
    * 
    * @param savedInstanceState the saved instance state 
    */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     application = ((Application) getApplication()); 
     Requestor req = new Requestor(); 
     Application.log(listType.toString()); 
     ArrayList<String> list = req.getStuff(application.getId(), listType); 

     adapter = new ArrayAdapter<String>(this, 
       R.layout.list, R.id.stuff, list); 
     setListAdapter(adapter);  
    } 

    protected void onListItemClick(ListView l, View v, int position, long id) 
    { 
     String item = (String) getListAdapter().getItem(position); 
     Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show(); 
    } 
} 
+0

如果您有自定義列表項,那麼您可以使用它中使用的任何組件(例如TextView),並在自定義適配器中使用其get/set標記方法來存儲和檢索標識。你可以參考更多的標籤[這裏](http://developer.android.com/reference/android/view/View.html#setTag%28java.lang.Object%29) – 2012-03-12 04:16:36

回答

4
使用

setTag()getTag()屬性在適配器getView()代碼列表視圖..來存儲和檢索數據。

+0

我看到使用這個例子有一個在頁面上設置數量(文本瀏覽,按鈕)。我正在使用動態列表來填充列表視圖,所以我不確定這是如何相關的。我的原始問題具有上下文 – tipu 2012-03-12 05:31:23

+0

的源代碼,即使您使用的是動態列表,我們也可以使用適配器來填充數據,在此使用此屬性。如果你沒有意識到這一點,讓我知道並顯示代碼。 – 2012-03-12 05:33:51

+0

它已被添加 – tipu 2012-03-12 05:37:05

相關問題