【问题标题】:how to attribute an event to an element of a listView如何将事件归因于 listView 的元素
【发布时间】:2013-10-01 01:54:53
【问题描述】:

如何将事件归因于 listView 的指定元素(例如位置 0)?我已经尝试过了,但它不起作用:

ListView liste ;
liste.setOnItemClickListener( itemClickedListener );

有什么帮助吗?

【问题讨论】:

    标签: android android-listview event-handling


    【解决方案1】:

    您的代码只有在您初始化一个新的onCItemClickListener 时才能工作。试试这个:

     liste.setOnItemClickListener( new OnItemClickListener() {
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                 //do somthing
            });
        }
    

    【讨论】:

    • 我已经这样做了,但是,有没有其他方法可以根据点击项目的位置进行处理? (不是开关...案例...)
    • 您需要实现一个自定义列表适配器。这是一个很好的教程:javacodegeeks.com/2013/09/…
    【解决方案2】:

    您需要有一个支持列表的适配器,然后为列表设置一个 OnItemClickListener 对象。当用户单击列表中的单个条目时,系统会调用 OnItemClickListener.onItemClick,并传入列出的参数:

    • AdapterView arg0 是 ListView
    • View arg1 是 ListView 中的条目
    • int arg2(位置)是后备适配器中数据的索引,相对于 0
    • long arg3 (rowId) 是被点击项目的行 ID(并不总是有用)。

    要将点击归因于指定元素,请查看位置。这将为您提供一个指向所单击视图下的数据的指针。这个指针通常是你要找的。例如,如果您的 ListView 由来自数据库或内容提供程序的 Cursor 支持,则 position 将为您提供指向 Cursor 中行的指针。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      • 2015-09-25
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多