2014-11-24 44 views
0

我想要做一個Android應用程序測驗。我做了一個帶有4個單選按鈕的輻射組,代表4個答案。 我希望當這些單選按鈕沒有被點擊時,應用程序顯示錯誤,但我不這樣做。 這是我的代碼:?Android:Radiobutton未檢查

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.fragment_main); 
     RadioGroup champ=(RadioGroup)findViewById(R.id.answer1); 


     champ.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
       @SuppressWarnings("null") 
       public void onCheckedChanged(RadioGroup group, int checkedId) { 
        // TODO Auto-generated method stub 

        switch(checkedId) { 

        case R.id.answer1A: 
         ans1 =0; 
         break; 
        case R.id.answer1B: 
         ans1 =1; 
         break; 
        case R.id.answer1C: 
         ans1 =2; 
         break; 
        case R.id.answer1D: 
         ans1 =3; 
         break; 
        case R.id.answer1E: 
         ans1 =4; 
         break; 
        default: 
         ans1=(Integer) null; 
         Toast.makeText(MainActivity.this, "error", Toast.LENGTH_LONG).show(); 
         break; 

        } 
       } 
      }); 

爲什麼你能幫助我嗎?

+0

您正在檢查它listener..just外檢查listener..if任何單選按鈕被點擊或not..if沒有再展敬酒.. – Meenal 2014-11-24 11:51:40

回答

0

先分配:

ans1=-1; //in onCreate or at the time of declaration 

你可能有一個按鈕或東西上點擊你將要訪問其答案覈對,那裏你可以檢查:

if(ans1==-1) 
{ 
    //show error message 
} 
else 
{ 
    //Success 
} 
+0

Modifico IL MIO codice在questo MODO: 如果(champ.getCheckedRadioButtonId ()== -1) \t \t { \t \t \t Toast.makeText(MainActivity.this, 「錯誤」,Toast.LENGTH_LONG).show(); \t \t} \t \t其他{ \t \t \t champ.setOnCheckedChangeListener(新OnCheckedChangeListener(){ ,但它不工作 – user3582433 2014-12-03 09:50:51

0

此檢查是不是因爲這是一個checkedchangelistener,當你點擊某個單選按鈕時(狀態改變時)會觸發它。

您只需檢查此偵聽器外部的每個單選按鈕的狀態。

+0

很清楚的答案。請elaborte或舉一個例子它如何工作。-1不完整的,誤導性答案。 – Khay 2016-12-24 21:27:05