2012-03-12 28 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

相关问题