2012-03-29 69 views
-3

我發現了很多答案來做關閉事情,但沒有什麼我正在尋找。一直在尋找幾天的答案。增加或減少EditText值2取決於哪個按鈕被點擊,ANDROID

我有一個名爲textEdit1的TextEdit字段。

我在它的每一側還有一個按鈕,button1和button10。

的文本編輯域的初始值爲0

如果我單擊button,我需要通過價值2.減少如果我點擊button10(用繩子我可能會在情況有差別添加設置)我需要該值增加2.

這是一種評分應用程序,其中 - 點比+點好。所以我不需要能夠做到消極價值。

這是爲Android設計的,它不能反向兼容,所以我在API 3上構建它。我需要它能夠在1.5上運行。

以下是我的XML代碼。

<Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/buttonYes" /> 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="50dp" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:inputType="number" 
     android:text="@string/valueInitial" > 

     </EditText> 


    <Button 
     android:id="@+id/button10" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/buttonNo" /> 

從本質上講,如果有問題的人已經取得進展,你點擊「是」按鈕,它是按鈕1,它分2點。如果他們沒有取得進展,或者意外按下了yes按鈕,那麼你點擊了「no」按鈕,這是buttong10,並且它增加了點數。

對於不同的情況,有幾個像這樣的順序按鈕具有不同的點值。完成之後,您會在底部點擊一個得分按鈕,它會顯示所有EditText字段的數學運算,並顯示最終得分。

此外,我不希望任何人能夠點擊EditText字段並輸入一個值,我也無法找到這些信息。只能通過點擊這兩個按鈕之一來更改該值。

確定一些幫助後,我已經得到以下結果,但我確定,但我只是沒有Android或Java的經驗,我的經驗是在VB.NET中。這是我迄今爲止,但是有很多錯誤。

public class ScoringActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    setButtonClickListener(); 
} 
public int progress; 

    private void setButtonClickListener() { 
     button1.setOnClickListener(this); 
     button10.setOnClickListener(this); { 
      public void onClick(View v) { 
    // TODO Auto-generated method stub 
       if(v == button1){ 
       this.total -= 2; 
       textEdit1.setText(String.valueOf(this.progress); 
       } 
       if(v == button10){ 
       this.total += 2; 
       textEdit1.setText(String.valueOf(this.progress);  
       } 

       } 

     }); 



} 
} 

這不是一個進口問題,因爲我沒有得到任何這樣的錯誤。

+0

它的核心邏輯,把一些代碼,顯示你的努力得到回答 – 2012-03-29 06:37:00

+0

例http://stackoverflow.com/questions/1653617/android-dynamic-created-button-setonclicklistener-doesnt-work – 2012-03-29 06:44:26

回答

2

好簡單的java

保持一個類的成員veriable在編輯文本中保持號碼的粘性。

如果單擊減少

this.total -= 2; 
TextEdit1.setText(String.valueOf(this.total)); 

如果點擊增加

this.total += 2; 
TextEdit1.setText(String.valueOf(this.total)); 
+0

Riddhish:我之所以沒有發佈代碼的原因是因爲我嘗試了很多東西,並且如果他們不工作,一直在刪除它們。我不喜歡讓代碼混亂。 Mayank,這是我正在尋找的東西。我瞭解變量,以及代碼的作用。糾正我,如果我錯了,但對於「如果點擊減少」,它的對手,將onClickHandler的每個按鈕是正確的?關於這個唯一的其他問題是,它在哪裏說「valueOf」是我必須用來匹配我的情況,還是實際上是內置的東西? – Michael 2012-03-29 19:18:19

+0

'String.valueOf()'是一個內置的函數,它返回給定的'Integer/Double/Long ....'的String,等於'Integer.toString();'在'OnClickListener'中,你可以檢測到哪個按鈕是通過比較'buttonId'和'view.getID()'來點擊。 – Mayank 2012-03-29 19:45:32

+0

Groovy,謝謝你,正是我在找的東西。 – Michael 2012-03-29 22:29:42

相關問題