【发布时间】:2015-01-29 08:01:50
【问题描述】:
在 mainActivity 我有一个带有定制适配器的listView,适配器类扩展了BaseAdapter。
在 mainActivity 中,我试图在单击项目时显示一条消息,因此我调用了 OnItemClickListener,在其中我显示了 toast。但是当我点击一个项目时,什么都没有显示。
请让我知道我错过了什么。
MainActivity:
private void setUpListView() {
// TODO Auto-generated method stub
this.topicsList = new ArrayList<String>();
for (int i = 0; i < this.topics.length; i++) {
this.topicsList.add(topics[i]);
}
this.adapter = new listViewAdapter(getApplicationContext(), this.topicsList);
this.listView.setAdapter(adapter);
this.listView.setOnItemClickListener(listViewitemListener);
}
....
....
private OnItemClickListener listViewitemListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "item clicked", Toast.LENGTH_SHORT).show();
}
};
BaseAdapter:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if (convertView == null) {
LayoutInflater layoutinflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = layoutinflater.inflate(R.layout.list_items_layout, null);
}
TextView tv = (TextView) convertView.findViewById(R.id.tvlist_topic);
CheckBox cb = (CheckBox) convertView.findViewById(R.id.cbList_hook);
ImageView iv = (ImageView) convertView.findViewById(R.id.ivList_delete);
tv.setText(this.arrayList.get(position));
iv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
return convertView;
}
【问题讨论】:
标签: android listview android-listview baseadapter