【问题标题】:Radio OK Button Click单选 OK 按钮单击
【发布时间】:2016-05-10 05:30:27
【问题描述】:

当我单击确定按钮时,如何从选定的 RadioButton 中获取值?单击“确定”按钮时,我想使用 RadioButton 功能。不是 isChecked() 函数。这是我的自定义单选按钮对话框代码。

txt_language.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final Dialog dialog = new Dialog(context);
                dialog.setContentView(R.layout.custom_language_dialog);
                tha = (RadioButton) dialog.findViewById(R.id.tha);
                en = (RadioButton) dialog.findViewById(R.id.en);
                btnOK = (Button) dialog.findViewById(R.id.btn_ok);
                if (tha.isChecked()) {
                    StoreUtil.getInstance().saveTo("languages", "tha");
                    closeAllActivities();
                }
                if (en.isChecked()) {
                    StoreUtil.getInstance().saveTo("languages", "en");
                    closeAllActivities();
                }
               // btnOK.setOnClickListener(this);
                dialog.show();
            }
        });

【问题讨论】:

    标签: android dialog


    【解决方案1】:

    方法一:Toast中显示选定的数据。

    经过测试和工作。检查this

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
    import android.widget.Toast;
     
    public class MyAndroidAppActivity extends Activity {
     
      private RadioGroup radioSexGroup;
      private RadioButton radioSexButton;
      private Button btnDisplay;
     
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     
        addListenerOnButton();
     
      }
     
      public void addListenerOnButton() {
     
        radioSexGroup = (RadioGroup) findViewById(R.id.radioSex);
        btnDisplay = (Button) findViewById(R.id.btnDisplay);
     
        btnDisplay.setOnClickListener(new OnClickListener() {
     
            @Override
            public void onClick(View v) {
     
                    // get selected radio button from radioGroup
                int selectedId = radioSexGroup.getCheckedRadioButtonId();
     
                // find the radiobutton by returned id
                    radioSexButton = (RadioButton) findViewById(selectedId);
     
                Toast.makeText(MyAndroidAppActivity.this,
                    radioSexButton.getText(), Toast.LENGTH_SHORT).show();
     
            }
     
        });
     
      }
    }
    

    xml

    <RadioGroup
            android:id="@+id/radioSex"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
     
            <RadioButton
                android:id="@+id/radioMale"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/radio_male" 
                android:checked="true" />
     
            <RadioButton
                android:id="@+id/radioFemale"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/radio_female" />
     
        </RadioGroup>
    

    更多详情请访问:Android getting value from selected radiobutton

    方法:2 将选中的数据存入String。

    RadioGroup rg = (RadioGroup)findViewById(R.id.radioSex);
    String radiovalue = ((RadioButton)findViewById(rg.getCheckedRadioButtonId())).getText().toString(); 
    

    【讨论】:

    • @Peter Phyo 您必须使用Method : 2 将选定的数据存储到String
    猜你喜欢
    • 2019-01-30
    • 2010-09-13
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    相关资源
    最近更新 更多