2011-07-11 8 views
3

は私がリストビューを持っており、リスト項目のそれぞれに私がチェックボックス、2 textviewsImageViewのを追加しています。私が望むのは、listitemのクリックアクションと、imageviewの別のクリックアクション(listitemにある)です。また、チェックされた項目のチェックボックスをクリックの上のListItemのonClick問題

lv.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int position, 
       long arg3) { 
      CustomizeDialog customizeDialog = new CustomizeDialog(desserts.this);   // Used to show a dialog 
      customizeDialog.show(); 
      // TODO Auto-generated method stub 

     } 


    }); 


は私がによってitemClickイベントに次のコードを使用していました。したがって、2つのことが起こっています(チェックボックスがオンになっていてダイアログが表示されます)。ユーザーがlistitemをクリックするとチェックボックスがオンまたはオフになり、ダイアログが表示されず、同じlistitemでimageviewをクリックするとダイアログが上に表示され、チェックボックスがオンまたはオフになります。
どうすれば実現できますか?助けてください。

アダプターを使用して、このアダプタのgetViewメソッド()で、あなたのチェックボックスと、ダイアログのためにあなたのリスナーを設定する必要が

答えて

0

http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

はgetViewメソッド()例のような

にリスナーを設定します -

LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
view = inflater.inflate(R.layout.list_layout, null); 
final ViewHolder viewHolder = new ViewHolder(); 
viewHolder.image1 = (ImageView) view.findViewById(R.id.image1); 
viewHolder.image1.setOnClickListener(new OnClickListener(){ 
     @Override 
     public voic onClick(View v){ 
      // do something here 
     } 
}); 
viewHolder.text1 = (TextView) view.findViewById(R.id.text1); 
viewHolder.checkBox = (CheckBox) view.findViewById(R.id.checkbox); 
viewHolder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     // do something 
    } 
}); 
view.setTag(viewHolder); 
関連する問題