适配器中调用的片段中的按钮

时间:2015-09-24 17:51:45

标签: android listview checkbox adapter

我是一个新手安卓开发者,我有一个带有两个复选框和一个按钮的列表。该按钮位于列表类中,复选框位于适配器类中。当选中所有复选框时,我必须执行片段事务,这是按钮到来的时间。有一种方法可以从适配器中的片段调用按钮吗? 如果有人能告诉我,我会很感激

public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        LayoutInflater mInflater = (LayoutInflater) activity.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.ijueces_list_rondas, null);

            holder = new ViewHolder();
            holder.olblTable = (TextView) convertView.findViewById(R.id.lblTable);
            holder.olblWhite = (TextView) convertView.findViewById(R.id.lblWhite);
            holder.olblBlack = (TextView) convertView.findViewById(R.id.lblBlack);
            holder.ocheckBox1 = (CheckBox) convertView.findViewById(R.id.checkBox1);
            holder.ocheckBox2 = (CheckBox) convertView.findViewById(R.id.checkBox2);
            final CheckBox ocheckBox1 = (CheckBox) convertView.findViewById(R.id.checkBox1);
            final CheckBox ocheckBox2 = (CheckBox) convertView.findViewById(R.id.checkBox2);

            holder.ocheckBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() 
            {

                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
                {
                    if(isChecked){
                        counter=0;
                        if(ocheckBox2.isChecked()==true){
                            counter=0;
                        }
                        else{

                        }
                    }
                    else{
                        counter--;
                    }   
                }
            });

            holder.ocheckBox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() 
            {
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
                {
                    if(isChecked){
                        counter++;
                        if(ocheckBox1.isChecked()==true){

                        }
                    }
                    else{

                    }   
                }
            });

对不起该版本,我在一个小设备上,它不允许我编辑代码(这是我的适配器类)

1 个答案:

答案 0 :(得分:1)

在适配器类中创建一个返回已检查项目数的方法。并从您的活动中调用它,如

int count = adapter.getCheckedCount();

如果它们全部被检查(计数等于您的列表大小),则继续进行Web服务调用。

here我做了同样的事情......你可以得到一些想法。