레이아웃에 두 개의 EditText와 TextView가 있습니다. 다른 EditText 값과 관련하여 EditText 및 TextView 값을 변경하고 싶습니다. 그리고 다른 editText와 동일합니다. 아래 코드를 구현했습니다.두 개의 다른 EditText에 대해 두 개의 TextWatcher Listener를 넣을 수 없습니까?
amountText.setText("");
excludedText.setText("");
includedText.setText("");
includedText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(!(includedText.getText().toString().equals("")))
{
double included = Double.parseDouble(includedText.getText().toString());
included = roundTwoDecimals(included);
// double amountValue = (excluded*15/100);
String amt = String.valueOf(roundTwoDecimals(included-(included/1.15)));
String excluded = String.valueOf(included/1.15);
System.out.println("The Amount is: "+amt);
amountText.setText(amt);
try{
excludedText.setText("");
excludedText.setText(excluded); //////// Error
}
catch(Exception e)
{
e.printStackTrace();
}
}
else
{
amountText.setText("");
//excludedText.setText("");
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
excludedText.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(!(excludedText.getText().toString().equals("")))
{
double excluded = Double.parseDouble(excludedText.getText().toString());
excluded = roundTwoDecimals(excluded);
// double amountValue = (excluded*15/100);
String amt = String.valueOf(roundTwoDecimals(excluded*0.15));
String included = String.valueOf(roundTwoDecimals(excluded+(excluded*0.15)));
System.out.println("The Amount is: "+amt);
amountText.setText(amt);
includedText.setText(included);
}
else
{
amountText.setText("");
includedText.setText("");
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
하지만 응용 프로그램을 실행하는 동안 나는 stackoverflow와 같은 오류가 발생합니다.
오류 로그 캣은 : 나는 내가 잘못 곳에 잘 모릅니다
10-08 10:46:19.149: ERROR/AndroidRuntime(695): FATAL EXCEPTION: main
10-08 10:46:19.149: ERROR/AndroidRuntime(695): java.lang.StackOverflowError
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.text.DynamicLayout.reflow(DynamicLayout.java:261)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.text.DynamicLayout.<init>(DynamicLayout.java:150)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.makeNewLayout(TextView.java:4851)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.checkForRelayout(TextView.java:5348)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2688)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$1.onTextChanged(GSTActivity.java:66)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$2.onTextChanged(GSTActivity.java:111)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$1.onTextChanged(GSTActivity.java:67)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$2.onTextChanged(GSTActivity.java:111)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$1.onTextChanged(GSTActivity.java:67)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$2.onTextChanged(GSTActivity.java:111)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$1.onTextChanged(GSTActivity.java:67)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$2.onTextChanged(GSTActivity.java:111)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$1.onTextChanged(GSTActivity.java:67)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2556)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.EditText.setText(EditText.java:75)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2531)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at com.project.TaxCalculator.GSTActivity$2.onTextChanged(GSTActivity.java:111)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.sendOnTextChanged(TextView.java:6131)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextView.setText(TextView.java:2691)
10-08 10:46:19.149: ERROR/AndroidRuntime(695): at android.widget.TextVie
. .
이러한 방법을 구현하는 데 도움을주십시오. 감사합니다. .
무엇이 GSTActivity에 있습니다. 66 행 ??? – viv
GSTActivity는 내 앱의 활동입니다. –