【问题标题】:how to know if item in listview is pressed/geting listview item from id如何知道列表视图中的项目是否被按下/从 id 获取列表视图项目
【发布时间】:2013-12-24 03:26:22
【问题描述】:

我已经填充了一个列表视图。显示为

123 apple
456 Linux
789 windows

我还添加了 onItemClick 监听器,通过显示 toast 我可以检查按下的列表视图的 ID。因为我有一长串大约。 1000 项,我希望如果单击第 1 项,我应该获得列表视图。像

这样的东西
String clicked_Item = 123 apple. 

我该怎么做。这是我的 itm 听众。

listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long id) {
Toast.makeText(getActivity(), "item clicked id="+id, Toast.LENGTH_LONG).show();
}
}); 

【问题讨论】:

    标签: android listview onitemclicklistener


    【解决方案1】:

    在您的适配器中,您应该有一个名为 getItem(position) 的方法 因此,在您的 onItemClickListener 中,int arg2 表示被点击的列表的位置。

    listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long id) {
            Object object = adapter.getItem(position);
            Toast.makeText(getActivity(), "item clicked id="+id, Toast.LENGTH_LONG).show();
        }
    });
    

    所以,这个对象可能是你的模型,这意味着这个对象有你想要的所有信息。所以,随心所欲。

    【讨论】:

    • 所以如果我这样做,它会在该特定位置显示字符串/数据吗?
    • 是的,因为 arg2 参数表示被按下的列表视图中的位置。因此,在您的适配器中,您可以特别拥有此项目
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多