0

我在android中做了一个简单的radioButton演示。我已经放置了一个带有两个名为“男”和“女”的单选按钮的单选按钮......和一个按钮。我想要的是当其中一个按下与该特定名称相关的名称时单选按钮应该在吐司中。我已经尝试如下,那是行不通的:

活动.java

package com.example.radiobuttondemo;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.Toast;

public class MainActivity extends Activity {
RadioButton rd1,rd2;
Button b;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    rd1=(RadioButton)findViewById(R.id.radio0);
    rd2=(RadioButton)findViewById(R.id.radio1);
    b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub

            if(rd1.isChecked()){
                Toast.makeText(getApplicationContext(), "male", 0).show();
            }
            else{
                Toast.makeText(getApplicationContext(), "Female", 0).show();
            }


        }
    });
    }



}
4

4 回答 4

1

你忘了初始化你的Buttonb。

所以当你在做的时候b.setOnClickListener,你的程序会抛出一个NullPointerException并关闭你的应用程序。

于 2013-05-01T16:17:54.767 回答
0

您必须将按钮与 MainActivity 类中的 Button 对象(您命名为 b)绑定。b上有一个动作监听器,但是b没有绑定...

于 2013-05-01T16:17:56.553 回答
0

就个人而言,我一直使用 RadioGroup 作为我的单选按钮。如果您不使用它,当您选中另一个单选按钮时,它怎么知道取消选中一个单选按钮?

http://www.mkyong.com/android/android-radio-buttons-example/

现在,如果您正在处理一个普通的复选框,我想您的方法会很好。一个普通的复选框不需要知道它的兄弟姐妹。

于 2013-05-01T16:16:02.433 回答
0

对 RadioButton 组本身进行检查:

switch (radioGroup.getCheckedRadioButtonId()) {
            case rd1:
                     Toast.makeText(getApplicationContext(), "male", 0).show();
                     break;
            case rd2:
                     Toast.makeText(getApplicationContext(), "Female", 0).show();
                     break;
)
于 2013-05-01T16:28:22.097 回答