我有一个Custom ListView,它有一个ImageView和一个TextView。我实现了ListView.setOnItemSelectedListener();
但这是一种使ImageView和TextView可单击(单独)的方法,我的意思是单击ImageView必须调用ActivityA并单击TextView必须调用ActivityB吗?
答案 0 :(得分:3)
是的,您可以在Adapter类本身内执行此操作。只需在Adapter类中设置ImageView和Textview的单击侦听器即可。
答案 1 :(得分:2)
是的当然!
在自定义ListAdapter中,您可以设置onClickListener,如下所示:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
if( row == null ){
LayoutInflater vi = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = vi.inflate(this.textViewResourceId, null);
}
row.findViewById(R.id.image_item).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
row.findViewById(R.id.text_item).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
}
答案 2 :(得分:1)
同样的
有很多例子喜欢this
点应该保持
您需要将侦听器设置为getView中的每个视图(不要在其中创建) 每次在获取视图中只是传递已经创建的一个或者可以通过它 并在同一个适配器类中实现监听器)
使视图(如TextView)可点击为真
您还需要行位置,因此可以使用不同的逻辑 喜欢和&在此link
答案 3 :(得分:1)
是的,你可以做到这一点。您可以在适配器类中单独设置onClickListener,然后将这些按钮或textview设置为不可聚焦,如果您希望使用onItemClickListener在单击整个列表项时执行不同的操作。
yourButton.setFocusable(false);
yourButton.setFocusableInTouchMode(false);