【发布时间】:2013-08-30 12:53:08
【问题描述】:
当我为列表视图使用自定义列表数组适配器时,数据显示在列表中但不可点击。我已经在列表视图项单击上设置了一个侦听器,但它不起作用。
另外,我找到了另一种解决方案,可以在线性布局列表视图项布局上使行可点击并设置背景可绘制,但使用此解决方案是一个坏技巧。
还有其他解决办法吗?
谁能告诉我为什么会这样?在列表视图中,哪些默认功能不适用于自定义数组适配器
这是我的代码:
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;
}
}
点击项目时没有任何反应。
【问题讨论】:
-
发布您的自定义适配器代码和布局 xml。
标签: java android listview user-interface android-arrayadapter