gpt4 book ai didi

java - 如何在 Android 中的用户输入表单上获取选中的单选按钮并将选择存储为字符串

转载 作者:行者123 更新时间:2023-12-02 10:02:15 25 4
gpt4 key购买 nike

我有一个非常简单的 Android 应用程序(使用 Java),它将接受用户输入。它有几个带有 EditTexts 和 Radiobuttons 的输入字段以及一个提交按钮。我不确定我是否正确实现了单选按钮。

应用程序编译并运行正常,当 Activity 打开时,我可以输入值等,但选择“提交”按钮时没有任何反应。我尝试过调试,但由于应用程序没有崩溃,因此很难知道问题是什么。

注意我的 API、PHP 脚本和数据库等正在运行;我有工作注册/登录 Activity ,并且我的用户输入表单的 POST 方法正在工作,正如我使用 Postman 进行的测试

公共(public)类 IncidentActivity 扩展 AppCompatActivity {

private EditText editTextStreet, editTextTown, editTextDetails;

private RadioButton btnGenUnknown, btnGenMale, btnGenFemale, btnBedUnknown, btnBedYes, btnBedNo;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_incident);

editTextStreet = findViewById(R.id.editTextStreet);
editTextTown = findViewById(R.id.editTextTown);

btnGenUnknown = findViewById(R.id.btnGenUnknown);
btnGenMale = findViewById(R.id.btnGenMale);
btnGenFemale = findViewById(R.id.btnGenFemale);
btnBedUnknown = findViewById(R.id.btnBedUnknown);
btnBedYes = findViewById(R.id.btnBedYes);
btnBedNo = findViewById(R.id.btnBedNo);

editTextDetails = findViewById(R.id.editTextDetails);

Button button = findViewById(R.id.buttonSubmit);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
logIncident();
}
});

}

private void logIncident() {

String street = editTextStreet.getText().toString().trim();
String town = editTextTown.getText().toString().trim();
String details = editTextDetails.getText().toString().trim();
String gender;
String bedded;

if (!btnGenUnknown.isChecked()) {
if (!btnGenMale.isChecked()){
btnGenFemale.setText("Female");
gender = btnGenFemale.toString();
}
else{
btnGenMale.setText("Male");
gender = btnGenMale.toString();
}
}else{
btnGenUnknown.setText("Unknown");
gender = btnGenUnknown.toString();
}

if (!btnBedUnknown.isChecked()) {
if (!btnBedYes.isChecked()){
btnBedNo.setText("No");
bedded = btnBedNo.toString();
}
else{
btnBedYes.setText("Yes");
bedded = btnBedYes.toString();
}
}else{
btnBedUnknown.setText("Unknown");
bedded = btnBedUnknown.toString();
}

/* Logging incident using the API call */
Call<DefaultResponse> call = RetrofitClient
.getInstance()
.getApi()
.logIncident(street, town, gender, bedded, details);

/* Executing the HTTP call */
call.enqueue(new Callback<DefaultResponse>() {
@Override
public void onResponse(Call<DefaultResponse> call, Response<DefaultResponse> response) {

if(response.code() == 201){

DefaultResponse dr = response.body();
Toast.makeText(IncidentActivity.this, dr.getMsg(), Toast.LENGTH_LONG).show();

}
}

@Override
public void onFailure(Call<DefaultResponse> call, Throwable t) {
Toast.makeText(IncidentActivity.this, "Something is wrong", Toast.LENGTH_LONG).show();
}
});
}

}

点击提交按钮后,值应存储为字符串并发布到我的数据库

Activity layout

最佳答案

//Create an object for button
Button button = findViewById(R.id.submit_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Call your method from here
logIncident();
}
});

关于java - 如何在 Android 中的用户输入表单上获取选中的单选按钮并将选择存储为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55541287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com