向 Firebase 提交配给按钮值



我在我的应用程序中创建了一个表单。有 3 件事移动、数量和Radio Button具有 2 个值(男性和女性)。当我按下提交Button手机和金额保存到DatabaseRadioButton值不保存.但是当我双击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;
                    }
                }
            });

你可以像下面这样做。我正在添加一个示例代码。1.创建一个变量来存储您将从单选按钮获得gender值,然后将侦听器设置为 radioGroup in onCreate() .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);
}

你可以这样做

    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;
        }
    }

提交时使用此代码

public void onClick(View arg0) { 
 int selected=radioGroup.getCheckedRadioButtonId();
                RadioButton genderBtn=(RadioButton) findViewById(selected);
                String gender = genderBtn.getText().toString();
}

最新更新