我有一个自定义 ListView,它有一个 ImageView 和一个 TextView。我实现了 ListView.setOnItemSelectedListener();
但这是一种使 ImageView 和 TextView 都可点击(单独)的方法,我的意思是点击 ImageView 必须调用 ActivityA,点击 TextView 必须调用 ActivityB?
是的,您可以在 Adapter 类本身中执行此操作。只需在 Adapter 类中设置 ImageView 和 Textview 的点击侦听器。
是的当然!
在您的自定义 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
}
});
}
是的,你当然可以做到这一点。您可以在适配器类中分别对它们设置 onClickListener,然后使用 onItemClickListener 将这些按钮或文本视图设置为不可聚焦,如果您希望在单击整个列表项时执行不同的操作。
yourButton.setFocusable(false);
yourButton.setFocusableInTouchMode(false);