2015-12-05 80 views
0

我想做出一些還挺字典,但不完全是一本字典,很多if語句

我有兩個文本的意見,一個字,另一個用於的含義。

我有兩個按鈕,他們改變一個整數的數量

最後,我有很多的如果,例如:

(if i==1){ 

txt1.setText("x"); 

txt2.setText("y"); 

} 

(if i==2){ 

txt1.setText("n"); 

txt2.setText("m"); 

} 

Q1:它具有開關向右更好?第二季度:我應該把這些開關放在哪裏?在每個Button的ClickListener中?

Q3:你能否提出一個更好的方法來做到這一點?

+0

如果您有超過3個if子句,您可以始終考慮使用Switch語句。 – fractalwrench

+0

@fractalwrench謝謝,你能回答我的第二個問題:D –

+0

你是手動編碼一個列'(id,text1,text2)'的表。您可以通過在id表中搜索來替換整個構造(當存在多個值時,使用'Map'或甚至sqlite)。 – dhke

回答

0

交換機無疑是一個更好的選擇。

你可以有一個通用的API,將處理這個邏輯,如:

toggleText(int i){ 
    switch(i){ 
     case 1: 
      txt1.setText("x"); 
      txt2.setText("y"); 
      break; 
     case 2: 
      txt1.setText("n"); 
      txt2.setText("m"); 
      break; 
    } 
} 

則U可以從烏爾鍵依序按調用此API:

button.setOnClickListener(new View.OnClickListener{ 
    @Override 
    onClick(){ 
      toggleText(pass your value here) 
    } 
}); 

讓我知道如果u需要任何幫助。

+0

嗯,我發現開關是一個更好的選擇,順便說一下,你可以告訴我究竟如何使toggleText? –

+0

您可以在您的活動中創建一個方法,並且您可以從按鈕的onClickListener中調用此方法。這種方法應該有相應的開關語句。我會更新我的答案以反映相同的情況。 – Wanted

0
  1. 交換機是很好的選擇,如果比其他
  2. 做一個函數,並把所有開關條件,並呼籲按鈕功能點擊
+0

你能解釋一下嗎?或者舉個例子嗎? –