在android列表视图中将元数据从一个活动传递到下一个活动

时间:2012-03-12 04:12:03

标签: android

我知道有一组方法用于将数据从一个活动传递到下一个活动,但是如何使用列表视图在活动中对其进行建模?

示例:我有一个json对象,用于填充列表视图。每个列表项都有一个id。我想在点击时将id传递给下一个活动。我怎么知道listview的项目ID?我不确定如何将任意元数据附加到listview项目并立即抓取并传递它。

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();
    }
}

1 个答案:

答案 0 :(得分:4)

对Adapter getView()代码中的列表视图使用 setTag() getTag()属性来存储和检索数据。