我有一个列表视图,包含不同类型的单元格,我使用ArrayAdapter来执行此操作。
private class MyAdapter extends ArrayAdapter<String>
{
public MyAdapter(Context context, int resource, int textViewResourceId, String[] objects)
{
super(context, resource, textViewResourceId, objects);
}
@Override
public View getView(int position, View view, ViewGroup parent)
{
View viewCE = inflater.inflate(R.layout.my_cell, parent, false);
((TextView) viewCE.findViewById(R.id.txt_cell)).setText(adapter.getItem(position));
view = viewCE;
return view;
}
}
my_cell
包含一个ImageView,我想要做的是在用户点击单元格时更改此ImageView的图像。
我已经在我的代码中添加了一个实现OnItemClickListener
的私有类及其方法onItemClick()
,但后来我完全不知道该怎么做......
感谢您的帮助。
答案 0 :(得分:2)
在onItemCLick
回调中,参数view
正好是包含imageView
的视图,因此您可以通过ID找到它然后更改它,示例代码如下:
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
ImageView image = ((ImageView) viewCE.findViewById(R.id.your_image_id));
//do something by yourself
}
}
答案 1 :(得分:0)
如果要在ImageView上处理click事件的方式不同于onClick of list项,则可以将单独的onClickListener添加到Imageview,如下所示:
imageView.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// Change the image
}
});