Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中获取多个复选框值?_Java_Android_Checkbox - Fatal编程技术网

Java 在android中获取多个复选框值?

Java 在android中获取多个复选框值?,java,android,checkbox,Java,Android,Checkbox,这里是新的Android开发者。我正在做一个表单,让用户在SQLite数据库中搜索之前设置一些搜索条件。表单的一部分包括一些复选框。在“最佳实践”的意义上,我如何看待他们的价值观 我习惯于使用PHP,所以我会设置一个方法,返回一个包含所有值的数组或对象,然后在“onClick”方法中调用它,但这在Java中也是一个好主意吗 我的代码如下所示: // Setup a listener, and event handler for the onClick event of the butto

这里是新的Android开发者。我正在做一个表单,让用户在SQLite数据库中搜索之前设置一些搜索条件。表单的一部分包括一些复选框。在“最佳实践”的意义上,我如何看待他们的价值观

我习惯于使用PHP,所以我会设置一个方法,返回一个包含所有值的数组或对象,然后在“onClick”方法中调用它,但这在Java中也是一个好主意吗

我的代码如下所示:

    // Setup a listener, and event handler for the onClick event of the button
    buttonFind.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            String text = "Button clicked";
            int duration = Toast.LENGTH_SHORT;
            Context context = getApplicationContext();

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        }
    });
CheckBox myCheckbox = (Checkbox) findViewById(R.id.my_checkbox);
boolean isMyCheckboxChecked = myCheckbox.isChecked();

在你的问题中,也许最好给出更多的细节。您不会在代码中的任何地方显示您定义复选框的位置。。。所以我要做一些假设:

我将假设在活动的onCreate()方法中,您有如下内容:

    // Setup a listener, and event handler for the onClick event of the button
    buttonFind.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            String text = "Button clicked";
            int duration = Toast.LENGTH_SHORT;
            Context context = getApplicationContext();

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        }
    });
CheckBox myCheckbox = (Checkbox) findViewById(R.id.my_checkbox);
boolean isMyCheckboxChecked = myCheckbox.isChecked();
如果您想通过按钮的onClick()方法(因为您在上面发布了它)确定复选框是否已选中,可以执行以下操作:

    // Setup a listener, and event handler for the onClick event of the button
    buttonFind.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            String text = "Button clicked";
            int duration = Toast.LENGTH_SHORT;
            Context context = getApplicationContext();

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        }
    });
CheckBox myCheckbox = (Checkbox) findViewById(R.id.my_checkbox);
boolean isMyCheckboxChecked = myCheckbox.isChecked();

希望这对你有用。下次你的问题要尽量说得更清楚。

也许最好在你的问题中提供更多的细节。您不会在代码中的任何地方显示您定义复选框的位置。。。所以我要做一些假设:

我将假设在活动的onCreate()方法中,您有如下内容:

    // Setup a listener, and event handler for the onClick event of the button
    buttonFind.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            String text = "Button clicked";
            int duration = Toast.LENGTH_SHORT;
            Context context = getApplicationContext();

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        }
    });
CheckBox myCheckbox = (Checkbox) findViewById(R.id.my_checkbox);
boolean isMyCheckboxChecked = myCheckbox.isChecked();
如果您想通过按钮的onClick()方法(因为您在上面发布了它)确定复选框是否已选中,可以执行以下操作:

    // Setup a listener, and event handler for the onClick event of the button
    buttonFind.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            String text = "Button clicked";
            int duration = Toast.LENGTH_SHORT;
            Context context = getApplicationContext();

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        }
    });
CheckBox myCheckbox = (Checkbox) findViewById(R.id.my_checkbox);
boolean isMyCheckboxChecked = myCheckbox.isChecked();

希望这对你有用。下次你的问题要更清楚。

你的代码似乎没有“调用”任何东西。你的代码似乎没有“调用”任何东西。对不起,我想我遗漏了代码中的一些重要部分。我关心的是是否采取过程性方法(即,检查onClick方法本身中的复选框),还是编写一个方法来检查复选框并以数组或对象的形式返回数据,然后可以在onClick中调用这些数据(即,将我的逻辑分组并使我的代码更具可读性)。所以我想这更像是一个最佳实践问题:)这方面没有“最佳实践”。这完全取决于你的应用程序。如果您有很多复选框,您可能希望有一个函数,负责读取复选框的所有状态,并以您想要的格式为您返回绑定的值。另一种方法是在选中/取消选中复选框时更新复选框状态,而不是在单击按钮时在最后更新复选框状态(可能会使您的应用程序更具响应性)。要做到这一点,只需将您的
设置为OnCheckedChangeListener
,并为所有复选框设置一个通用的复选框。为了实现它,您可以通过执行myView.getId()来识别有问题的复选框然后做一个
switch
语句来更新适当的数据结构,该结构保存您标识的复选框的所有复选框状态。对不起,我想我遗漏了代码中的一些重要部分。我关心的是是否采取过程方法(即在onClick方法本身中选中复选框),或者编写一个方法,检查复选框并以数组或对象的形式返回数据,然后可以在onClick中调用这些数据(即,对逻辑进行分组并使代码更具可读性)。因此,我想这更像是一个最佳实践问题:)对此没有“最佳实践”。这完全取决于你的应用程序。如果您有很多复选框,您可能希望有一个函数,负责读取复选框的所有状态,并以您想要的格式为您返回绑定的值。另一种方法是在选中/取消选中复选框时更新复选框状态,而不是在单击按钮时在最后更新复选框状态(可能会使您的应用程序更具响应性)。要做到这一点,只需将您的
设置为OnCheckedChangeListener
,并为所有复选框设置一个通用的复选框。为了实现它,您可以通过执行myView.getId()来识别有问题的复选框并做出一个
switch
语句来更新适当的数据结构,该数据结构保存您标识的复选框的所有复选框状态。