Java 在android中获取多个复选框值?
这里是新的Android开发者。我正在做一个表单,让用户在SQLite数据库中搜索之前设置一些搜索条件。表单的一部分包括一些复选框。在“最佳实践”的意义上,我如何看待他们的价值观 我习惯于使用PHP,所以我会设置一个方法,返回一个包含所有值的数组或对象,然后在“onClick”方法中调用它,但这在Java中也是一个好主意吗 我的代码如下所示: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
// 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
语句来更新适当的数据结构,该数据结构保存您标识的复选框的所有复选框状态。