1

这让我发疯CheckBox了。ListView我在 StackOverflow 上搜索了很多关于此的内容,但我无法解决此问题。

问题是我有一个自定义适配器,ListView我在其中膨胀CheckBox.

这是代码:

public class settingadapter extends BaseAdapter{

    private Activity recievedactivity;

    private String[] recieveddescription;
    private String[] recusername;
    private String allitems="";
    private String[] itemchecked;

    private static LayoutInflater inflator=null;


    public settingadapter(Activity recactivity,String[] username, String[] recdescription ){
        recievedactivity=recactivity;
        recusername=username;
        recieveddescription=recdescription;

        inflator=(LayoutInflater)recievedactivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);



    }
    public settingadapter(Activity recactivity,String[] username, String[] recdescription ,String all){
        recievedactivity=recactivity;
        recusername=username;
        recieveddescription=recdescription;
        allitems=all;
        inflator=(LayoutInflater)recievedactivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);


    }


    public int getCount() {
        // TODO Auto-generated method stub
        return recusername.length;
    }

    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return null;
    }

    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }
    static class ViewHolder{
        TextView usernameTextView;
        TextView statusTextView;
        CheckBox checkView;
    }

    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        final ViewHolder viewHolder;

        if(convertView== null)
        {
            viewHolder=new ViewHolder();

            convertView=inflator.inflate(R.layout.item, null);

            viewHolder.usernameTextView=(TextView)convertView.findViewById(R.id.textView1);
            viewHolder.statusTextView=(TextView)convertView.findViewById(R.id.text);
            viewHolder.checkView=(CheckBox)convertView.findViewById(R.id.checkBox1);





            convertView.setTag(viewHolder);


        }else{
            viewHolder=(ViewHolder)convertView.getTag();
        }
            viewHolder.usernameTextView.setText(recusername[position]);
            viewHolder.statusTextView.setText(recieveddescription[position]);
             //Add listener to the checkbox


            System.out.println("testing alpha"+recusername[position]);

            if(allitems.equals("All")){
                viewHolder.checkView.setChecked(true);
            }
            else if (allitems.equals("---Select User---")){
                viewHolder.checkView.setChecked(false);
            }
            else
             return convertView;  
            //image.setBackgroundResource(R.drawable.check);



            return convertView;



    }

}

现在在这我如何获得CheckBox被点击的内容以及如何获得相应的文本?

4

1 回答 1

0

请检查这些代码

在 ans 中,该人添加了 onclick 事件并获取了标签。 Android如何使用复选框识别列表视图中的项目

没有 onclick 复选框的相同代码 http://windrealm.org/tutorials/android/listview-with-checkboxes-without-listactivity.php

希望它会帮助你:)

于 2012-07-31T12:21:19.000 回答