在mainActivity中我有一个带有cutomised适配器的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;
}
答案 0 :(得分:0)
将android:descendantFocusability="blocksDescendants"
添加到list_items_layout
的根目录。