单击ListView项的特定视图

时间:2013-05-21 18:52:51

标签: android android-listview onclick

我有一个ListView,显示Items列表,每个项目包含多个TextViews和ImageViews,如下所示:

enter image description here

当我点击 ImageView 时,我想要执行一些代码行。

@Override
public void onItemClick(AdapterView<?> parent, View view,final int position, long id) 
{
    ImageView del=(ImageView) view.findViewById(R.id.ImageViewDelete);
    del.setOnClickListener(new OnClickListener() 
    {

        @Override
        public void onClick(View arg0) 
        {
            //Some Line Of Code here            
        }
    });

}

当我点击 ImageView 时,没有任何事情发生。

ps:我已将 ImageView 的属性“clickable”设置为true。

2 个答案:

答案 0 :(得分:2)

您必须从适配器

中的getView()方法内部处理clickListener
public View getView(int pos, View convertView, ViewGroup parent){
    ...
    ImageView redX = (ImageView) row.findViewById(R.id.redX);
    redX.setOnClickListener(new OnClickListener(){
        public void onClick(View v){

             Context ctx = v.getContext();
             doSomething(ctx);
        }
    });
    ...
    return row;
}

您需要的确切语法取决于您的布局设置方式,但这是实现您想要的整体“方式”。

答案 1 :(得分:1)

您可以在自定义BaseAdapter类

中编写On-click Event

public View getView(final int position, View convertView, ViewGroup parent) {}方法。

您想要在图片视图中添加OnClick事件,

ImageView more = (ImageView) view.findViewById(R.id.moreImageView);

比添加点击事件

public View getView(final int position, View convertView, ViewGroup parent) {
more.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {



            }
        });

}