0

各行に2つのテキストボックスと1つのチェックボックスがあるリストビューがあります。ユーザーがチェックボックスをオンにすると、事前定義されたドローアブルがその行の背景として設定されます。

cusotmカーソルアダプタ内のgetViewメソッドのLisnnerでそれを実行しようとしましたが、成功しませんでした。助けてください!!!。

4

2 に答える 2

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;
}
于 2012-12-27T13:56:33.367 に答える
0

最初にチェックボックス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を与えるか受け入れます。

于 2012-12-27T13:29:08.740 に答える