2015-01-29 1 views
0

의 mainActivity에는 listView에 cutomised 어댑터가 있고 어댑터 클래스는 BaseAdapter입니다.OnItemClickListener가 실행되지 않습니다.

mainActivity 나는 항목이 clikced되면 메시지를 표시하려고하므로 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

list_items_layout의 루트에 android:descendantFocusability="blocksDescendants"를 추가합니다.

관련 문제