我有自定义View类,它包含2个TextView,RatingBar,ImageView和4个ImageButtons。当我单击此视图时,它会展开并显示这些ImageButtons。如果我再次单击,它将返回其原始状态。一切都很棒。 但我尝试制作这些自定义视图的ListView,因此带项目的XML文件仅包含此自定义视图。
我的列表有自定义适配器:
public class CustomViewAdapter extends BaseAdapter {
private Note[] items;
private LayoutInflater inflater;
public CustomViewAdapter(Context context,Note[] elements){
this.items=elements;
this.inflater=LayoutInflater.from(context);
}
@Override
public int getCount() {
return items.length;
}
@Override
public Object getItem(int position) {
return items[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
CustomView view;
if (convertView == null) {
view = (CustomView) inflater.inflate(R.layout.itemoflist, null);
} else {
view = (CustomView) convertView;
}
Note item = (Note) getItem(position);
view.showNote(item);
return view;
}
}
MainActivity继承自ListActivity。当然,OnItemClick不起作用,而Item是可点击的。
那么我怎么知道项目的位置被点击以保存可扩展的项目状态?
答案 0 :(得分:0)
如果要在listview的“自定义”视图中处理特定项目的单击侦听器,请在CustomViewAdapter的“自定义”视图中处理onClickListener。对于项目位置,在适配器的getView方法中,您将获得作为getView方法参数的位置。