爲了修道者的目的,我需要使用單選按鈕作爲切換按鈕。不幸的是,我只能讓它保持選中狀態或取消選中狀態,但不能重新檢查。我嘗試了所有我能想到的組合,但無法實現。 toggle()將不起作用,因爲它只會檢查未經檢查的單選按鈕。我試過了isChecker()和setChecked()的組合,但它不起作用。這是我目前有:爲什麼我的單選按鈕不會更改檢查狀態,如切換按鈕(Android)?
pi.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.e("Pistate before",Boolean.toString(pistate));
if(pistate=true)
pi.setChecked(false);
if(pistate=false)
pi.setChecked(true);
if(pi.isChecked())
pistate=true;
if(!pi.isChecked())
pistate=false;
Log.e("Pistate after",Boolean.toString(pistate));
}
});
一旦未選中,它將不會重新檢查。在之前和之後,pistate讀取錯誤是毫無意義的,因爲我的if()應該改變它,對吧?
==就是答案。 http://www.javacoffeebreak.com/articles/toptenerrors.html(滾動至第8位) – Blundell
您可以將代碼縮減爲1行:pi.setChecked(!pi.isChecked());如果你需要知道你的應用程序的其他地方有什麼手指,添加行pistate = pi.isChecked();在它下面 – dymmeh
@dophora:剛剛發現了你的評論。你擊敗了我。 – Squonk