大家好,我正在尝试在我的应用程序中通过 php 和 mysql 接收数据时检查我的复选框。我希望你能明白我要问的问题,因为我的英语不太好。在我的图像中,您可以看到我的应用程序布局和数据库。我向您发布我的 php 文件和部分代码。问题是,如果我这样设置,两个复选框都会被选中,因为它们收到的是真的。我的想法是复选框部分应该用字符串来证明。例如。 (如果结果==“男性”){ setCheckboxMale(true); }... 等等。但这种方式行不通,因为结果是 boolean 值。我能做些什么?请帮助我。谢谢。
获取数据.php:
session_start();
if(isset($_GET['id'])){
$id = $_GET['id'];
$query = "SELECT st_id, st_name, st_surname, st_gender FROM T_Studnets WHERE = $id";
}else{
$query = "SELECT st_id, st_name, st_surname, st_gender FROM T_Studnets"; }
require_once("dbConnect.php");
$result = mysqli_query($con,$query) or die('Error in query: $query' .mysql_error());
$output = array();
while($row = mysqli_fetch_assoc($result)){
$output[] = $row;
}
print (json_encode($output));
mysqli_close($con);
?>
接收.java:
@Override
protected void onPostExecute(Boolean result) {
if (result == true) {
etName.setText(data.getName());
etSurname.setText(data.getSurname());
etGender.setText(data.getGender());
checkboxMale.setChecked(true);
checkboxFemale.setChecked(true);
} else {
checkboxMale.setChecked(false);
checkboxFemale.setChecked(false);
Toast.makeText(getActivity(), "Error", Toast.LENGTH_LONG).show();
}
dialog.dismiss();
}
最佳答案
如果您向我们展示您在 Android 代码中收到的数据,将会有所帮助。如果我没看错的话,您将收到带有“男”或“女”的字符串形式的性别。如果这是真的,那么你可以像你自己说的那样写:
if(data.getGender().equals("Male"){
checkboxMale.setChecked(true);
checkboxFemale.setChecked(false);
}else{
checkboxFemale.setChecked(true);
checkboxMale.setChecked(false);
}
关于java - 使用 php 和 MySql 在 android 中检查复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35271947/