当我为列表视图使用自定义列表数组适配器时,数据显示在列表中但不可点击。我已经在列表视图项单击上设置了一个侦听器,但它不起作用。
此外,我找到了另一种解决方案,可以在线性布局列表视图项布局上使行可点击并设置背景可绘制,但使用此解决方案是一个坏技巧。
有没有其他解决方案?
任何机构都可以告诉我为什么会这样吗?在列表视图中,哪些默认功能不适用于自定义阵列适配器
这是我的代码:
public class Model {
String name;
String id;
String price;
}
mArrayList = new ArrayList<Model>();
// mArrayList has some data in it
mListiView.setsetAdapter(new myCoustomAdapter(mContext, mArrayList));
mListiView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getBaseContext(), ""+position, Toast.LENGTH_LONG).show();
}
});
public class myCoustomAdapter extends ArrayAdapter<Model> {
ArrayList<Model> mList;
public myCoustomAdapter(Context context, ArrayList<Model> list) {
super(context, R.layout.item);
this.mList=list;
}
@Override
public int getCount() {
return this.mList.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// layout data here
return view;
}
}
单击项目时没有任何反应。