2011-01-31 39 views
3

我已創建了一個佈局xml文件,其中有兩個RadioButton s。如何在選擇某個RadioButton時使UI組件消失

默認情況下,選擇RadioButton 1,並在屏幕上顯示DatePicker組件,但當用戶選擇RadioButton 2時,DatePicker應從屏幕消失。

我該如何處理這種情況?我應該在佈局/ Java代碼中進行更改嗎?

回答

5

其實很簡單。

讓您RadioGroup和你DatePicker的參考。爲RadioGroup實施OnCheckedChangeListener並檢查在那裏檢查了哪個RadioButton

如果RadioButton A被檢查設置的知名度對你DatePicker可見,如果RadioButton B在檢查可見性設置爲goneinvisible根據您的要求。

作爲一個例子。

public class MyActivity extends Activity { 

    private RadioGroup choice; 
    private DatePicker datePicker; 

    @Override 
    public void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 
     setContentView(R.layout.your_layout); 

     choice = (RadioGroup) findViewById(R.id.choice); 
     datePicker = (DatePicker) findViewById(R.id.date_picker); 

     choice.setOnCheckedChangeListener(
      new RadioGroup.OnCheckedChangeListener() { 

      public void onCheckedChanged(RadioGroup group, int checkedId) { 
       switch(checkedId) { 
        case R.id.radio_button_a: 
         datePicker.setVisibility(View.VISIBLE); 
         break; 
        case R.id.radio_button_b: 
         datePicker.setVisibility(View.GONE);      
         break; 
       } 
      } 
     }); 

    } 
} 

理論上它應該是這樣的。

+0

非常感謝Octavian。 – chiranjib 2011-01-31 13:26:14

相關問題