【问题标题】:How to select row in custom list view android?如何在自定义列表视图android中选择行?
【发布时间】:2015-07-07 12:22:24
【问题描述】:

我是新的 Android 开发人员。我有一个自定义的ListView,带有图像、标题、描述。当我在自定义列表视图中单击行时,onclick 没有任何操作。

请告知如何解决这个问题?

【问题讨论】:

  • 第一条建议,发布您的代码和任何错误。
  • 请查看此 url 问题以获取我实施的列表视图 stackoverflow.com/questions/16437673/…
  • @ChrisAlan 你是说这是重复的吗?
  • 这只是用于自定义列表视图不起作用的 OnItemClickListener 示例。
  • 有人建议我 android:clickable="false" android:focusable="false" android:focusableInTouchMode="false"

标签: java android


【解决方案1】:

首先将 onItemClickListener 设置为您的列表视图

然后在 onItemClick 方法中执行您的操作。

listView.setOnItemClickListener(this);

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 

       //perform your action here

}

【讨论】:

  • 如果列表视图包含按钮、图像、标题、描述之类的产品页面将不起作用。为什么?请咨询。
【解决方案2】:
listView.setOnItemClickListener((parent, view, position, id)  {

    });

如果您在 list_item.xml 中有 Button,请将 android:descendantFocusability="blocksDescendants" 放入您拥有的 LinearLayout 或 RelativeLayout

ListView Tips & Tricks #4: Add Several Clickable Areas

https://syedasaraahmed.wordpress.com/2012/10/03/android-onitemclicklistener-not-responding-clickable-rowitem-of-custom-listview/

【讨论】:

    【解决方案3】:

    首先,您必须像这样添加列表视图:ListView lv 并将 lv 分配为 ListView 构造函数,在您设置它时引用它。

    然后设置这个:

    lv.setOnItemClickListener(this);

    @Override public void onItemClick(AdapterViewadapterView, View view, int position, long l) { //在这里执行你的操作 }

    您调用了列表视图方法来执行列表视图类中的 setonitemclicklistener 方法的消息,作为构造函数,您将设置即引用为 lv 的列表视图。这一切都联系在一起

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      相关资源
      最近更新 更多