いくつかのチェック ボックスを含むリストが 1 つあります。どのチェック ボックスがクリックされているかを調べるにはどうすればよいですか。itemClickListener() を試してみましたが、応答がありません。
質問する
105 次
3 に答える
0
このために、BaseAdapterクラスを拡張して独自のアダプターを作成し、そのアダプターの getview() メソッドでレイアウトを膨らませてチェックボックスを取得し、そのためのリスナーを記述します。
于 2013-08-05T12:44:57.593 に答える
0
独自の ArrayAdapter を作成し、getView(...) メソッド内で ckeckbox リスナーを実装します。
getView は、リスト内のアイテムの位置を提供するので、必要なことは何でもできます。
以下は、arrayadapter で作成する方法の例です。
于 2013-08-05T12:21:53.407 に答える
0
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view;
if (convertView == null) {
LayoutInflater inflater = MyPINsActivity.this
.getLayoutInflater();
view = inflater.inflate(R.layout.row_list_mypins, null);
} else {
view = convertView;
}
final CheckBox cb = (CheckBox) view.findViewById(R.id.cb);
//here you can save the position as tag to CheckBox, and get where you want
cb.setTag(position);
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
//get the positon of CheckBox by using mCheckBox.getTag()
String positon = cb.getTag().toString();
Log.e(TAG, "positon: "+positon);
}
}
});
}
于 2013-08-05T12:35:34.793 に答える