2016-10-10 49 views
0

如何在單擊Button時在TextView中顯示Radiobutton中的文本?如何在Android中按下按鈕後在textView中顯示Radiobutton中的文本?

這是我的代碼,

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public void onRadioButtonClicked(View view) { 

     boolean checked = ((RadioButton) view).isChecked(); 
     TextView tv1 = (TextView) findViewById(R.id.tv1); 

     switch(view.getId()) { 
      case R.id.rb1: 
       if (checked) 
        tv1.setText('rb1 text'); 
       break; 
      case R.id.rb2: 
       if (checked) 
        tv1.setText('rb2 text'); 
       break; 
     } 
    } 
} 

回答

0

你正在做的有點不正常。首先,你需要把你的RadioButtons置於RadioGroup並獲得radioGroup的參考。最後,將OnCheckedChangeListener附加到該實例。是這樣的:

yourRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 
      switch(view.getId()) { 
       case R.id.rb1: 
       if (checked) 
        tv1.setText('rb1 text'); 
       break; 

       case R.id.rb2: 
       if (checked) 
        tv1.setText('rb2 text'); 
       break; 
    } 
     } 
    }); 
0

使用此在onCreate()方法

最終的TextView yourTextView =(TextView的)findViewById(R.id.tv1);

RadioButton radioButton = (RadioButton) findViewById(R.id.radioBt); 
    radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 

      yourTextView.setText(isChecked ? "Checked" : "Unchecked"); 

     } 
    }); 
相關問題