2013-08-03 100 views
0

我必須檢查一個單選按鈕,並查看timeone的值,如果ab1通過烤麪包被點擊..,我怎麼能看到它..我使用的是「rab」+數量的單選按鈕.ischecked()方法。沒關係,還是應該使用其他方法?單選按鈕不顯示正確的檢查ID

public class Alarmsettings extends Activity { 
RadioButton rab1,rab2,rab3,rab0; 
RadioGroup rg; 
Button ab1,ab2; 
public Integer timeone; 
public Alarmsettings() 
{ 

} 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.second_layout); 
    rab0=(RadioButton) findViewById(R.id.radio0); 
    rab1=(RadioButton) findViewById(R.id.radio1); 
    rab2=(RadioButton) findViewById(R.id.radio2); 
    rab3=(RadioButton) findViewById(R.id.radio3); 
     ab1=(Button) findViewById(R.id.button1); 
     ab2=(Button) findViewById(R.id.button2); 
     rg = (RadioGroup) findViewById(R.id.radioGroup1); 

     if(rab0.isChecked()) 
      timeone=15; 
else if(rab1.isChecked()) 
timeone=30; 


else if(rab2.isSelected()) 
      timeone=45; 
else if(rab3.isChecked()) 
      timeone=60; 


     ab1.setOnClickListener(new OnClickListener() { 

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


      Toast.makeText(getApplicationContext(),timeone.toString(), Toast.LENGTH_SHORT).show(); 
+0

@KumarGaurav它是在創建方法 –

+0

@KumarGaurav你不能檢查它,直到onCreate後。在爲用戶創建按鈕之前,您正在檢查一個值。也請將該樹改爲case語句。 – ObieMD5

+0

@AdarshGumashta ObieMD5說的是對的。你需要把一些點擊事件,你可以檢查。 – TheLittleNaruto

回答

0

試圖通過標誌分配值,而不是直接分配給它

 if(rab0.isChecked()) 
     flag=1; 
     else if(rab1.isChecked()) 
     flag=2; 
     else if(rab2.isSelected()) 
     flag=3; 
     else if(rab3.isChecked()) 
     flag=4; 
     ab1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
     if(flag == 1) 
     timeone=15; 
     else if(flag == 2) 
     timeone=30; 
     else if(flag == 3) 
     timeone=45; 
     else if(flag == 4) 
     timeone=60; 


     Toast.makeText(getApplicationContext(),timeone.toString(), Toast.LENGTH_SHORT).show(); 

希望這有助於。