java - 使用 OnItemClickListener 单击了哪个元素

标签 java android listview android-listview onclicklistener

我有一个使用自定义适配器的 ListView。适配器扩展的布局包含一个 ImageView 和两个 TextView。我已将 OnItemClickListener 设置到列表中。在 onItemClick 方法中,我收到 ListView 条目的位置和 ListView 条目作为 View ,在我的例子中是 LinearLayout 类型。

我想知道用户是否点击了 ImageView。我如何实现这一点?

我认为这会起作用,但此方法中的 view 参数是 ListView 条目。

l.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        System.out.println(view.getClass().getName());
    }
});

我可以为 ImageView 添加一个 View.OnClickListener,但这样我无法获得父元素的位置。或者我可以吗?

最佳答案

如果您不使用布局,则在代码中创建 View 时使用 setId() 和 getId() 方法,在创建 View 时使用 setId() 并在 OnItemClickListener 中使用 view.getId()

关于java - 使用 OnItemClickListener 单击了哪个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19596572/

相关文章:

java - EditText 不显示文本

安卓 ListView 。对于宽列表,垂直滚动条并不总是可见

java - 在 Java 中创建用户配置文件的最佳方法

android - OFF_HOOK STATE 永远不会为呼出和呼入调用调用

java - 对数组使用 if 语句

java - Android ViewPager 检测垂直滑动

android - iOS和Android安装(直接测试)

android - 确保你的适配器的内容不是从后台线程修改的,而只是从 UI 线程修改的

java - 如何使用stripes框架将日期从JSP传递到Java?

java - 获取循环有序数组中所有正数的总和,时间复杂度为 O(Log N)