我在我的应用中创建了一个表单。 Mobile,Amount和Radio Button
共有3个值,其中包含2个值(男性和女性)。当我按下提交Button
移动设备和金额保存到Database
但RadioButton
值无法保存。但是,当我双击Radiobutton
时保存该值。我希望按下提交按钮时它会保存。
以下是代码:
private void Submit() {
String Mobile = mobile.getText().toString().trim();
String Amount = amount.getText().toString().trim();
if (TextUtils.isEmpty(Mobile)) {
Toast.makeText(this, "Please enter Mobile", Toast.LENGTH_LONG).show();
return;
}
if (TextUtils.isEmpty(Amount)) {
Toast.makeText(this, "Please enter Amount", Toast.LENGTH_LONG).show();
return;
}
demoRef.push().child("Mobile").setValue(Mobile);
demoRef.push().child("Amount").setValue(Amount);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
switch (i){
case R.id.male:
demoRef.push().child("Method").setValue("Male");
break;
case R.id.female:
demoRef.push().child("Method").setValue("Female");
break;
}
}
});
答案 0 :(得分:0)
你可以像下面这样做。我正在添加示例代码。
1.创建一个变量来存储你从单选按钮获得的gender
值,然后将监听器设置为onCreate()
中的radioGroup。
2.修改Submit()
方法,如下所示。
public class MainActivity extends AppCompatActivity {
// add this variable to hold gender value.
private String gender = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// your all other code which is already inside onCreate();
....
// [EDIT BEGIN]
RadioButton genderBtn=(RadioButton) findViewById(radioGroup.getCheckedRadioButtonId());
gender = genderBtn.getText().toString();
// [EDIT END]
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
switch (i){
case R.id.male:
gender = "Male";
break;
case R.id.female:
gender = "Female";
break;
}
}
});
}
// Modify submit method like below.
private void Submit() {
String Mobile = mobile.getText().toString().trim();
String Amount = amount.getText().toString().trim();
if (TextUtils.isEmpty(Mobile)) {
Toast.makeText(this, "Please enter Mobile", Toast.LENGTH_LONG).show();
return;
}
if (TextUtils.isEmpty(Amount)) {
Toast.makeText(this, "Please enter Amount", Toast.LENGTH_LONG).show();
return;
}
demoRef.push().child("Mobile").setValue(Mobile);
demoRef.push().child("Amount").setValue(Amount);
demoRef.push().child("Method").setValue(gender);
}
答案 1 :(得分:0)
你可以这样做
private void Submit() {
String Mobile = mobile.getText().toString().trim();
String Amount = amount.getText().toString().trim();
if (TextUtils.isEmpty(Mobile)) {
Toast.makeText(this, "Please enter Mobile", Toast.LENGTH_LONG).show();
return;
}
if (TextUtils.isEmpty(Amount)) {
Toast.makeText(this, "Please enter Amount", Toast.LENGTH_LONG).show();
return;
}
demoRef.push().child("Mobile").setValue(Mobile);
demoRef.push().child("Amount").setValue(Amount);
switch (radioGroup.getCheckedRadioButtonId()){
case R.id.male:
demoRef.push().child("Method").setValue("Male");
break;
case R.id.female:
demoRef.push().child("Method").setValue("Female");
break;
}
}
答案 2 :(得分:0)
提交时使用此代码
public void onClick(View arg0) {
int selected=radioGroup.getCheckedRadioButtonId();
RadioButton genderBtn=(RadioButton) findViewById(selected);
String gender = genderBtn.getText().toString();
}