2011-06-22 50 views
1

我有4個按鈕(a1,a2,b1,b2)。他們可以組合:a1-b1; A1-B2; A2-B1; a2-b2.這意味着「a1」和「a2」不能一起選擇。所以點擊「A1」後,我需要阻止「A2」。而取決於被壓什麼2個按鈕,將differenet actions.I嘗試這樣的事情檢查按下按鈕的組合

if(a1.isPressed()|| b1.isPressed()){ 
a2.setClickable(false); 
b2.setClickable(false);} 

,但沒有奏效。

更新:

我試圖添加布爾變量a1Boolean = FALSE; boolean a2Boolean = false; 而每點擊之後`a1.setOnClickListener(新View.OnClickListener(){

 @Override 
     public void onClick(View v) { 
      a1Boolean = true;` 

然後在方法檢查

private boolean geta1_b1() { if (a1Boolean || b1Boolean) { a2.setClickable(false); b2.setClickable(false); } return true; }

但是當我所有這些點擊之前調用此方法,因爲我沒有按任何按鈕,任何想法如何找到一個正確的決定?

回答

1

使用else if陳述。這是你最好的選擇,像這樣的imo。

if(a1.isPressed()){ 
     a2.setClickable(false); 
    }else if(b1.isPressed()){ 
     b2.setClickable(false) 
    } 

確保在適當時清除狀態。

+0

它沒有幫助。即使我寫如果(a1.isPressed())a2.setClickable(false); }我可以點擊「a2」 – Viktoriya

+0

您是否嘗試使視圖無效? – hwrdprkns

+0

什麼時候應該使視圖無效? – Viktoriya

1

爲什麼不使用RadioGroups

+0

)因爲它是按鈕內部的圖像,所以我不能使用單選按鈕 – Viktoriya

+0

您應該考慮使用單選按鈕有兩個原因:1)編碼會更容易,2)用戶更容易認識到按鈕提供的選擇是相互排斥的。如果你需要按鈕內的圖像,你可以考慮設計自定義單選按鈕,如下所示:http://stackoverflow.com/questions/3576507/is-it-possible-to-change-the-radio-button-icon-in -an-android-radio-button-group – Snicolas

1

您可以嘗試RadioGroup和RadioButton並檢查選擇了哪一個。

+0

這樣的事情?私人布爾geta1_b1(){ \t \t如果(a1.isChecked()==真|| b1.isChecked()==真){ \t \t \t a2.setClickable(假); \t \t \t b2。setClickable(假); \t \t \t return true; \t \t} \t \t return false; \t} – Viktoriya

1

可能不可見的按鈕等:

如果(a1.isPressed()){ a2.setVisibility(假); } else if(b1.isPressed()){ b2.setVisibility(false) }

+0

首先,setVisibility不可能是假的,因爲「公共無效setVisibility(INT可見性) 自:API等級1 設置此視圖的啓用狀態 。」甚至我寫a2.setVisibility(View.GONE ); - 它不起作用 – Viktoriya