自定义列表单击复选框

时间:2013-08-05 12:03:19

标签: android checkbox

我有一个包含一些复选框的列表,如何找到单击的复选框。 我尝试了itemClickListener()但没有回复我,

3 个答案:

答案 0 :(得分:0)

创建自己的ArrayAdapter,并在getView(...)方法中实现你的ckeckbox监听器。

getView为您提供列表中的项目位置,以便您可以随心所欲。

这是一个如何创建onw arrayadapter的例子:

How to use ArrayAdapter<myClass>

答案 1 :(得分: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);
                }
            }
        });
    }

答案 2 :(得分:0)

为此,您可以通过扩展BaseAdapter类来创建自己的适配器 然后在该适配器的getview()方法中膨胀布局并获取复选框并为其编写监听器..