テキストビューをクリックすると、その特定の行の非表示のレイアウトが展開され、チェックボックスをクリックすると、その特定の行が削除対象として選択されます。ビューをCheckBox のクラス オブジェクトClasCcastException
にタグ付けすると、これが得られます。ここに私のコードがあります、ViewHolder
holder
OnCheckedChangeListener
CustomListView.class
public View getView(final int position, View convertView, ViewGroup parent) {
holder = null;
DataFields rowItems = (DataFields) getItem(position);
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = inflater.inflate(R.layout.home_field_row, null);
holder = new ViewHolder();
holder.dataFields = items.get(position);
holder.mName = (TextView) convertView
.findViewById(R.id.hmFieldName);
holder.mDeleteCheck = (CheckBox) convertView
.findViewById(R.id.deleteCheck);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.mDeleteCheck.setTag(position);
holder.mName.setTag(position);
holder.mName.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
holder = (ViewHolder) ((View) v.getParent()).getTag(); //Works fine here
...
}
});
holder.mDeleteCheck
.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
holder = (ViewHolder) ((View) buttonView.getParent()).getTag(); //throwing ClassCastException
...
}
});
holder.mName.setText(rowItems.getName());
holder.mDeleteCheck.setChecked(deletePositions[position]);
return convertView;
}
私の質問が明確であることを願っています。どんな種類の助けや提案も大歓迎です。ありがとう !
編集
ログキャット -
03-09 12:08:45.789: E/AndroidRuntime(3661): FATAL EXCEPTION: main
03-09 12:08:45.789: E/AndroidRuntime(3661): java.lang.ClassCastException: java.lang.Integer
03-09 12:08:45.789: E/AndroidRuntime(3661): at com.inkers.forgetpassword.utility.CustomListArrayAdapter$1.onCheckedChanged(CustomListArrayAdapter.java:173)
03-09 12:08:45.789: E/AndroidRuntime(3661): at android.widget.CompoundButton.setChecked(CompoundButton.java:124)
03-09 12:08:45.789: E/AndroidRuntime(3661): at android.widget.CompoundButton.toggle(CompoundButton.java:86)
03-09 12:08:45.789: E/AndroidRuntime(3661): at android.widget.CompoundButton.performClick(CompoundButton.java:98)