簡體   English   中英

如何檢查選定的單選按鈕?

[英]How to check the selected radiobutton?

我嘗試檢查選定的單選按鈕,

我發現了一個細節,但我無法粘貼它。

現在我有一個(查看視圖)錯誤。

節目不知道選了哪一個,

我找不到解決方案。

我還能寫什么?

請幫忙。

謝謝:來自螞蟻Z圖片的問題

我的代碼:

package myapplication.Buttons;

import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class MainActivity extends AppCompatActivity {
EditText editText;     
    
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        EditText textView = findViewById(R.id.text);
        Button button = findViewById(R.id.button);
        Button btn1 = (Button)findViewById(R.id.button);
        Button btn2 = (Button)findViewById(R.id.exit);
       editText = findViewById(R.id.text);
        RadioGroup radioGroup =  findViewById(R.id.radioGroup1);

        editText.addTextChangedListener(new TextWatcher() {            
            //do something  }           
            });

        public void getSelectedRadioButton(View View ) {        <<< fail here :(View View )
            final RadioGroup radGroup = findViewById(R.id.radiogroup1);
            int radioID = radGroup.getCheckedRadioButtonId();
            RadioButton singleButton = findViewById(radioID);
        }
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                RadioGroup radioGroup = findViewById(R.id.radiogroup1); 

                                 <<< if i push the btn1 the program don't know the radioID>>>

                if (radioGroup.getCheckedRadioButtonId() == R.id.radioButton_green) {
                //do something
                }
        });

        btn2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // do something
        }
    } );
    }}

你應該做兩件事來解決這個問題。

  1. 更正大小寫敏感和正確的View View作為View view

  2. 將函數移動到 onCreate 函數下方和 MainActivity 內部。

  3. 你實際上並不需要 1&2 來得到你想要的。

  4. 您可以復制粘貼此代碼並開始工作。

代碼:

package myapplication.Buttons;

import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import com.uploadedlobster.PwdHash.R;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class MainActivity extends AppCompatActivity {
    EditText editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        EditText textView = findViewById(R.id.text);
        Button button = findViewById(R.id.button);
        Button btn1 = (Button)findViewById(R.id.button);
        Button btn2 = (Button)findViewById(R.id.exit);
        editText = findViewById(R.id.text);
        RadioGroup radioGroup =  findViewById(R.id.radioGroup1);

        editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (radioGroup.getCheckedRadioButtonId() == R.id.radioButton_green) {
                    //do something
                }
            }
        });

        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // do something
            }
        } );
    }
}

快樂編碼! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM