各行に2つのテキストボックスと1つのチェックボックスがあるリストビューがあります。ユーザーがチェックボックスをオンにすると、事前定義されたドローアブルがその行の背景として設定されます。
cusotmカーソルアダプタ内のgetViewメソッドのLisnnerでそれを実行しようとしましたが、成功しませんでした。助けてください!!!。
各行に2つのテキストボックスと1つのチェックボックスがあるリストビューがあります。ユーザーがチェックボックスをオンにすると、事前定義されたドローアブルがその行の背景として設定されます。
cusotmカーソルアダプタ内のgetViewメソッドのLisnnerでそれを実行しようとしましたが、成功しませんでした。助けてください!!!。
あなたの:でこのgetView
方法を使用してくださいListAdapter
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.list_item, null);
CheckBox checkBox = (CheckBox) view.findViewById(R.id.check);
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
View row = (View) buttonView.getParent();
if (isChecked) {
row.setBackgroundResource(R.drawable.list_item_background_checked);
} else {
row.setBackgroundResource(android.R.color.transparent);
}
}
});
return view;
}
最初にチェックボックスIDを見つけてから、
box.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
//set background when checked
}else{
//when unselect checkbox change background
}
}
});
このコードが有効な場合は、+1を与えるか受け入れます。