【问题标题】:How to set the array of checkboxes to checked() in android?如何在android中将复选框数组设置为checked()?
【发布时间】:2013-12-14 02:20:33
【问题描述】:

我有一组复选框CheckBox labels[] = {fname,lname,company,mobno,workemail,workphone,persemail};

我有一个单选按钮。现在我想要的是,如果用户单击单选按钮,所有复选框都应该用绿色勾号选中。

CheckBox labels[] = {fname,lname,company,mobno,workemail,workphone,persemail};  
    RadioButton available,none,privte,publc;
    //String [] values;
    String firstname2,lastname2,comp2,mobileno2,wrkemail2,wrkphone2,persnalemail2;
Button generate;
private String output;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.startnew);
        fname=(CheckBox)findViewById(R.id.fnamechk);
        lname=(CheckBox)findViewById(R.id.lnamechk);
        persemail=(CheckBox)findViewById(R.id.personalemailchk);
        mobno=(CheckBox)findViewById(R.id.cellchk);
        workemail=(CheckBox)findViewById(R.id.Workemailchk);
        company=(CheckBox)findViewById(R.id.companychk);
        workphone=(CheckBox)findViewById(R.id.workphonechk);

available.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //for(CheckBox cb : labels){ cb.setChecked(true); }

            }
        });

【问题讨论】:

  • 您是否尝试循环遍历此数组并为每个项目设置“setChecked(true)”。
  • 是的,它显示的是空指针..!!!
  • 是的,fname=(checkbox)findviewbyid(r.id.fname);
  • 复选框是如何创建的?使用 XML?您能否验证 id 是否正确以及它们是否在循环之前初始化?也许粘贴您的代码,这样人们就不会给出随机答案..而是特定于您的代码..
  • @user2699728 请看看我的回答是否有帮助!

标签: android checkbox radio-button


【解决方案1】:

你可以试试下面的代码吗?

for(CheckBox cb : 标签){ cb.setChecked(true); }

遍历 CheckBox 数组并将选中的属性设置为 true。我假设 CheckBox 数组包含对复选框的对象引用。

我的意思是,在创建数组之前,您对 UI Checkbox 有有效的引用。

CheckBox fname = (CheckBox) findViewById(R.id.fname);

【讨论】:

  • 调试并查看 fname 是否变为空,还要确保您正在使用的视图(布局 xml)中有一个同名的元素。
【解决方案2】:

您可以一次选择一个,我们不能一次选择所有如果您想尝试使用复选框,您可以一次选择多个复选框

【讨论】:

    【解决方案3】:

    问题是因为您没有初始化available 变量。你在 null 项目上做一个setOnClickListener(),所以你得到NullPointerException

    在此行之前初始化 available 类似:available = (RadioButton) findViewById(R.id.something);

    available.setOnClickListener(new OnClickListener() {
    ...
    ...
    

    【讨论】:

      猜你喜欢
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多