我對onClickListeners修改GUI元素有一個愚蠢的問題。下面我有一個radioGroup,裏面有兩個按鈕,一個EditText和一個Spinner。當選擇了choose_old單選按鈕時,我只是想在Spinner和EditText之間切換啓用/禁用。變量select_run和new_run_name都是實例變量,從我的XML文件中獲得 。android onclicklistener GUI變化
select_run = (Spinner)runDialoglayout.findViewById(R.id.run_choice_spinner);
new_run_name = (EditText)runDialoglayout.findViewById(R.id.new_run_name);
RadioButton choose_old = (RadioButton)runDialoglayout.findViewById(R.id.select_old);
RadioButton choose_new = (RadioButton)runDialoglayout.findViewById(R.id.select_new);
choose_old.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
Log.e("ERROR","GOT CLICK");
select_run.setEnabled(true);
new_run_name.setEnabled(false);
}
});
'GOT CLICK'消息打印出來,但沒有得到所需的更改。
注:
- 在試圖解決方案,我已經包裹在沒有效果的handler.post圖形用戶界面的變化。
- 如果我設置爲在onClickListener之外啓用,它會成功更改它。
我毫不懷疑這是愚蠢的事情,但似乎無法弄清楚爲什麼發生這種情況
您提供的代碼對我來說也很好。它必須在別的地方,你重寫微調器的狀態和edittext。你的XML文件是什麼樣的?你的其餘活動呢?您提供的代碼在onCreate方法中調用? – Darwind