2011-12-23 9 views
0

以下は私が使用しているアダプタです。checkbox.setOnCheckedChangeListener:throw java.lang.reflect.InvocationTargetException

setOnCheckedChangeListenerを設定すると例外がスローされます。
自分のアクティビティで直接(別のアダプタなしで)setOnCheckedChangeListenerを使用しようとしましたが、それでも失敗しました。

public class InteractiveArrayAdapter extends ArrayAdapter<String>{ 

private final List<String> list; 
private final Activity context; 
private final int layOut; 

public InteractiveArrayAdapter(Activity context,int rowLayout, List<String> list) { 
    super(context, rowLayout , list); 
    this.context = context; 
    this.list = list; 
    this.layOut = rowLayout; 
} 

static class ViewHolder { 
    protected TextView text; 
    protected CheckBox checkbox; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View view = null; 
    if (convertView == null) { 
     LayoutInflater inflator = context.getLayoutInflater(); 
     view = inflator.inflate(layOut, null); 
     final ViewHolder viewHolder = new ViewHolder(); 
     viewHolder.text = (TextView) view.findViewById(R.id.callTitle); 
     viewHolder.checkbox = (CheckBox) view.findViewById(R.id.checkbox); 
     viewHolder.checkbox 
       .setOnCheckedChangeListener(checkListener); 
     view.setTag(viewHolder); 
     viewHolder.checkbox.setTag(list.get(position)); 
    } else { 
     view = convertView; 
     ((ViewHolder) view.getTag()).checkbox.setTag(list.get(position)); 
    } 
    ViewHolder holder = (ViewHolder) view.getTag(); 
    holder.text.setText(list.get(position)); 

    return view; 
} 

private OnCheckedChangeListener checkListener = new OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton checkboxView, boolean isChecked) { 

     } 
    }; 

}

+0

stacktraceはいいよ – Nanne

+0

thanx..found私の間違い – WordsWorth

答えて

3

これは私のために動作し、この

holder.checkbox 
        .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
         public void onCheckedChanged(CompoundButton buttonView, 
           boolean isChecked) { 

         } 
        }); 

を試してみてください。

+0

thanx..found私の間違い – WordsWorth

+0

それはあなたのために働く場合。 upvoteして答えを受け入れることができますか? – san

関連する問題