2015-02-11 29 views
1

我有3個edittext,第一個輸入的價格,第二個輸入的百分比和第三個輸出他們calculate.example: 第一個輸入是100000,第二個輸入是30,那麼第三個edittext會自動填充30000.有可能這樣做嗎?eclipse android:edittext輸入將是其他edittext的輸出

在此先感謝,

問候, 喬治

+0

是可能的。您可以在EditText上使用TextWatcher,並立即處理您想要用戶輸入數據的任何內容。 – Jaydeep 2015-02-11 07:21:00

回答

2

這是可能的。你可以使用editText.addTextChangedListener(觀察者)來做到這一點。

EDIT1

editText1 = (EditText) findViewById(R.id.editText1); 
    editText2 = (EditText) findViewById(R.id.editText2); 
    editText3 = (EditText) findViewById(R.id.editText3); 

    editText2.addTextChangedListener(new TextWatcher() { 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

      String text1 = editText1.getText().toString(); 
      if (text1.length() != 0) { 
       int input1 = Integer.valueOf(text1); 

       int input2 = Integer.valueOf(s.toString()); 

       int output = (input1 * input2)/100; 
       editText3.setText(output + ""); 
      } 

     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
     } 
    }); 
+0

你可以舉一個例子 – 2015-02-11 07:28:18

+0

檢查我編輯的答案。 – Chandrakanth 2015-02-11 07:29:19

+0

這是我在找什麼,謝謝 – 2015-02-11 07:32:16

0

添加TextWatcher

edittext.addTextChangedListener(new TextWatcher() { 
    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { } 
    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { } 
    @Override 
    public void afterTextChanged(Editable s) { 
     //'calculatedPercentage' is the calculated value 
     editText3.setText(calculatedPercentage); 
    } 
}); 
0

您可以使用TextWatcher這與你的EditText和使用onTextChanged方法爲您計算。

0

設置的TextWatcher這樣的:

EditText editText = (EditText) findViewById(R.id.edt1); 

editText.addTextChangedListener(new TextWatcher() { 

    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, 
      int after) { 
     // TODO Auto-generated method stub 

    } 
    @Override 
    public void afterTextChanged(Editable arg0) { 
     // TODO Auto-generated method stub 

    } 
});