获取对ListView中的对象的引用

时间:2012-06-25 15:15:11

标签: android reference onitemclick

预先:这是我第一次试用Android应用。我在那个不知道要搜索什么的奇怪的地方找到我的问题的答案。

我所取得的成就是:

  • 创建了一个自定义类 myCustomClass ,其属性为'title'和'youTubeUrl'
  • 创建了一个ArrayList< myCustomClass>
  • 向ArrayList< myCustomClass>添加了多个元素
  • 创建了一个自定义ArrayAdapter并将其附加到arraylist。
  • 将onItemClickListener添加到自定义ArrayAdapter。

所有这一切都很好。我想在ListView中显示标题,然后当用户单击列表视图项时,我想获得对youtubeUrl属性的引用。

以下是适配器代码的内容:

MyListAdapter myListAdapter = new MyListAdapter(this, R.layout.my_list, elements);
myList.setAdapter(myListAdapter);
myList.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        String item = ((TextView)view).getText().toString();
        Toast.makeText(getBaseContext(), item, Toast.LENGTH_LONG).show();
    }
});
myListAdapter.notifyDataSetChanged();

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用position中的onItemClick属性返回数据源并找到相关项目。从那里你应该能够检索到网址。

答案 1 :(得分:0)

正如另一张海报暗示的那样,这取决于您在适配器中使用的内容。假设它是MyCustomClass。您可以在onItemClick方法中执行类似的操作:

MyCustomClass selection = (MyCustomClass) getListView().getItemAtPosition(position);