使用OnItemClickListener单击了哪个元素

时间:2013-10-25 18:00:39

标签: 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,但这样我无法获得父元素的位置。或者我可以吗?

1 个答案:

答案 0 :(得分:2)

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