当前位置: 首页 > 知识库问答 >
问题:

Android Studio中的复选框控件

公良泰宁
2023-03-14

我没有在布局文件中创建复选框。我在mainActivity中动态创建了它们。班

    for (int i=0; i < row; i++) {


        TableRow row2 = new TableRow(MainActivity.this);

       


        for (int j=0; j < column; j++) {
           

        }

        CheckBox cb = new CheckBox(getApplicationContext());
        row2.addView(cb);
        tableLayout.addView(row2);
    }

    }

但由于我是在循环中创建它们的,所以无法在其他方法中选中复选框。我想知道如何访问TableLayout。

我想在我的新方法的条件下,使用我在方法中创建的复选框,如下所示。

 if(?????.isChecked()){
        for(int i=0;i<row2;i++)
        {


            TableRow row = (TableRow)tableLayout.getChildAt(i);

            for(int j=0; j<column2; j++){

                TextView column = (TextView) row.getChildAt(j); // get child index on particular row
                String buttonText = column.getText().toString();
                int a=Integer.parseInt(buttonText);
                sum=sum+a;

            }




        }

    }

在此处输入图像描述

public void calculate(View view) {




    int row2=Integer.parseInt(editText1.getText().toString());
    int column2=Integer.parseInt(editText2.getText().toString());
    int childCount=tableLayout.getChildCount();


    int sum=0;


    for(int k=0; k<childCount ; k++) {
        TableRow row8 = (TableRow) tableLayout.getChildAt(k);
        for (int z = 0; z < row8.getChildCount(); z++) {

            CheckBox checkBox4 = (CheckBox) row8.getChildAt(z);

            if (checkBox4.isChecked()){
                for(int i=0;i<row2;i++)
                {

                    TableRow row = (TableRow)tableLayout.getChildAt(i);

                    for(int j=0; j<column2; j++){

                        TextView column = (TextView) row.getChildAt(j); // get child index on particular row
                        String buttonText = column.getText().toString();
                        int a=Integer.parseInt(buttonText);
                        sum=sum+a;

                    }

                }
            }
        }
    }

             String b=String.valueOf(sum);

            textView.setText(b);
}

我用了这样的东西,但它给出了一个错误

共有1个答案

郭乐湛
2023-03-14
`for (i in 0..4) {
        val checkBox = CheckBox(this)
        checkBox.text = "Check Box $i"
        checkBox.id = ViewCompat.generateViewId()
        mutableMap.put(i,checkBox.id)
        checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
            TODO("Not yet implemented")
        }
    }
    
    val linearLayout = findViewById<LinearLayout>(R.id.root)
    linearLayout.findViewById<CheckBox>(mutableMap.get(1))`

这是在科特林

 类似资料:
  • 本文向大家介绍ASP.NET中 CheckBox复选框控件的使用,包括了ASP.NET中 CheckBox复选框控件的使用的使用技巧和注意事项,需要的朋友参考一下 我们可以使用两种类型的 ASP.NET 控件将复选框添加到 Web 窗体页上:单独的 CheckBox 控件或 CheckBoxList 控件。两种控件都为用户提供了一种输入布尔型数据(真或假、是或否)的方法。 这里我们单独使用Chec

  • 我试图创建一个表单,该表单顶部有一个复选框,当用户选中该复选框时,它会选择其他特定的复选框,但不是所有复选框。我很难通过反复试验或搜索找到答案。我唯一能找到的就是“全选”选项。不是我想要的。 理想情况下,当用户选中“管理包”旁边的复选框时,我想要“Chrome外观组”和“远程启动” 下面是代码和我在这方面的基本尝试,但它不起作用。提前谢谢。 超文本标记语言: Javascript 我不知道这个Ja

  • 问题内容: 我是React的新手,可能缺少正确的术语来找到我的问题的解决方案。没那么难。 我正在构建一个简单的应用程序,它显示一组问题,一次显示一个问题。回答一个问题后,显示下一个问题。 我有一个呈现3个复选框的组件,每个复选框代表一个可能的问题。 在我的主要组件内部,我这样调用该组件: 是我的函数,该函数递增以显示下一个问题: 一切正常,除了:当显示下一个问题时,我希望所有3个复选框都不再选中。

  • 我希望在选中表中的所有复选框时选中标题复选框,如果没有选中单个复选框,则应取消选中标题复选框。

  • 问题内容: 我使用以下代码在我的第9列中放置一个复选框 哪里是我的。我需要将单击复选框所在的行添加到列表中。.到底该如何实现? 亲切的问候, 问题答案: 一种方法是: 将表的信号连接到处理程序 在处理程序中测试单击项的 如果选中该项目,则将其添加到列表中 示例代码:

  • 本文向大家介绍WPF实现带全选复选框的列表控件,包括了WPF实现带全选复选框的列表控件的使用技巧和注意事项,需要的朋友参考一下 本文将说明如何创建一个带全选复选框的列表控件。其效果如下图: 这个控件是由一个复选框(CheckBox)与一个 ListView 组合而成。它的操作逻辑: 当选中“全选”时,列表中所有的项目都会被选中;反之,取消选中“全选”时,所有项都会被取消勾选。 在列表中选中部分数据