2012-01-06 85 views
-3

我正在開發Android應用程序。按鈕onclick監聽器必須在edittext中顯示

我的應用程序包含十個按鈕,我已經爲其設置了一個onclicklistener()方法。 十個按鈕包含數字0-9。

現在,如果我點擊十個按鈕中的任意兩個或三個按鈕,則相應的數字必須輸入到編輯文本中,並且必須顯示在edittext框中。

我可以顯示單個數字,如果我點擊任何按鈕,但如果我點擊另一個按鈕,那麼以前的值消失,並顯示新的值。

但是我想要的是:不管我點擊多少個按鈕,都沒有。的數字將出現在edittext框中。

請任何人都可以向我解釋代碼,或給我一個提示,以便它可以以更簡單的方式製作。

回答

0

您可以乘坐公共靜態字符串變量和CONCAT新值以前並將其設置爲EditText上

1

您正在使用editText.setText("");

相反,你必須使用editText.append();

-3

您應該使用EditTextappend()將數據附加到EditText的方法。

所以每一個新的按鈕被點擊只是時間使用:

myEdtiText.append(str); 
+0

你可以看到我已經給出了相同的答案。你可以給1點+。 – 2012-01-06 10:16:10

+0

你也可以看到,我們幾乎同時回答,所以我沒有看到你的答案... – 2012-01-06 10:21:08

0

下面的代碼使用

public class AsActivity extends Activity { 
/** Called when the activity is first created. */ 
Button b1,b2,b3; 
EditText et; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    b1=(Button)findViewById(R.id.button1); 
    b2=(Button)findViewById(R.id.button2); 
    b3=(Button)findViewById(R.id.button3); 
    et=(EditText)findViewById(R.id.editText1); 
} 
public void onclick(View v){ 
    switch(v.getId()){ 
    case R.id.button1: 
     et.append("1"); 
     break; 
    case R.id.button2: 
     et.append("2"); 
     break; 
    case R.id.button3: 
     et.append("3"); 
     break; 
    } 
} 
} 

在這裏,我有按鈕,你可以使用switch語句的使用特性,以烏爾onclicklistener如上圖所示

1

使用共享首選項:

我想,你可能會用Shared Preferences當你點擊按鈕時,從Edittext中獲取值並放到共享偏好設置上。點擊下一個按鈕後,獲取該共享首選項值。您可以使用每個按鈕點擊放置值共享偏好。

到這個問題,這是幫你解決:>>SharedPreference problem in android

使用意圖:

May be used this code on button click event: 


      Bundle extras = getIntent().getExtras(); 
      String value1 = extras.getString("Value1"); 
    String value2 = extras.getString("Value2"); 
    if (value1 != null && value2 != null) { 
     EditText text1 = (EditText) findViewById(R.id.EditText01); 
     EditText text2 = (EditText) findViewById(R.id.EditText02); 
     text1.setText(value1); 
     text2.setText(value2); 
    } 

其他有用的資源: Get Value of a Edit Text field

http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-edittext-controls/

http://www.java2s.com/Code/Android/UI/GetvaluefromEditText.htm

http://geekswithblogs.net/bosuch/archive/2011/01/17/android---passing-data-between-activities.aspx

0

在所有0-9按鈕onclick事件,你可以寫下面的代碼。

editText.setText((editText.getText().toString) +""+ nevText); 

當你點擊按鈕,然後上面的代碼在edittext框中設置newText與以前的文本。

+0

如果你的問題解決了,所以不要忘記接受答案。好 – 2012-10-13 07:20:51