我有3個edittext,第一個輸入的價格,第二個輸入的百分比和第三個輸出他們calculate.example: 第一個輸入是100000,第二個輸入是30,那麼第三個edittext會自動填充30000.有可能這樣做嗎?eclipse android:edittext輸入將是其他edittext的輸出
在此先感謝,
問候, 喬治
我有3個edittext,第一個輸入的價格,第二個輸入的百分比和第三個輸出他們calculate.example: 第一個輸入是100000,第二個輸入是30,那麼第三個edittext會自動填充30000.有可能這樣做嗎?eclipse android:edittext輸入將是其他edittext的輸出
在此先感謝,
問候, 喬治
這是可能的。你可以使用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) {
}
});
你可以舉一個例子 – 2015-02-11 07:28:18
檢查我編輯的答案。 – Chandrakanth 2015-02-11 07:29:19
這是我在找什麼,謝謝 – 2015-02-11 07:32:16
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);
}
});
您可以使用TextWatcher這與你的EditText和使用onTextChanged方法爲您計算。
設置的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
}
});
是可能的。您可以在EditText上使用TextWatcher,並立即處理您想要用戶輸入數據的任何內容。 – Jaydeep 2015-02-11 07:21:00