在列表视图内单击复选框上设置行背景

Shi*_*eld 0 android android-listview android-cursoradapter

我有listview,每行有2个文本框和1个复选框.我想在用户选中复选框时,然后将预定义的drawable设置为该行的背景.

我试图在我的cusotm游标适配器里面的getView方法上的Lisnner上做,但没有成功,请帮助!!!

Mat*_*ers 6

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;
}
Run Code Online (Sandbox Code Playgroud)