TextWatcher mit 3 EditText

mike.bee

mike.bee

Erfahrenes Mitglied
33
Tagchen :)

Ich mach etwas mit meinem TextWatcher falsch und so verstrahlt wie ich gerade bin komm ich einfach nciht drauf.
Ich bekomme eine StackOverflowException. Das aber erst, wenn ich den 3. TextWatcher hinzufüge...

Hier der Code:

Code:
	private class GenericTextWatcher implements TextWatcher {

		private View view;

		private GenericTextWatcher(View view) {
			this.view = view;
		}

		public void beforeTextChanged(CharSequence charSequence, int i, int i1,
				int i2) {
		}

		public void onTextChanged(CharSequence charSequence, int i, int i1,
				int i2) {
		}

		public void afterTextChanged(Editable editable) {
			String s = editable.toString();
			switch (view.getId()) {
			case R.id.liter_input:
				try {
					if (amount_widget.getText().toString().equals(" ") == false
							|| literPrice_widget.getText().toString()
									.equals(" ") == false
							|| price_widget.getText().toString().equals(" ") == false) {
						double editTextCalc = Double.parseDouble(amount_widget
								.getText().toString())
								* Double.parseDouble(literPrice_widget
										.getText().toString());
						editTextCalc = Math.round(editTextCalc * 100) / 100.0;
						price_widget.setText(String.valueOf(decimalFormat
								.format(editTextCalc)));
					}

				} catch (Exception e) {
					// TODO: handle exception
				}
				break;
			case R.id.literprice_input:
				try {
					if (amount_widget.getText().toString().equals(" ") == false
							|| literPrice_widget.getText().toString()
									.equals(" ") == false
							|| price_widget.getText().toString().equals(" ") == false) {
						double editTextCalc = Double.parseDouble(amount_widget
								.getText().toString())
								* Double.parseDouble(literPrice_widget
										.getText().toString());
						editTextCalc = Math.round(editTextCalc * 100) / 100.0;
						price_widget.setText(String.valueOf(decimalFormat
								.format(editTextCalc)));
					}

				} catch (Exception e) {
					// TODO: handle exception
				}
				break;
			case R.id.price_input:
				try {
					if (amount_widget.getText().toString().equals(" ") == false
							|| literPrice_widget.getText().toString().equals(" ") == false
							|| price_widget.getText().toString()
									.equals(" ") == false) {
						double editTextCalc = Double.parseDouble(amount_widget
								.getText().toString())
								/ Double.parseDouble(price_widget
										.getText().toString());
						editTextCalc = Math.round(editTextCalc * 100) / 100.0;
						literPrice_widget.setText(String.valueOf(decimalFormat
								.format(editTextCalc)));
					}

				} catch (Exception e) {
					// TODO: handle exception
				}
				break;
			}
		}
	}

Hoffe Ihr kommt drauf xD
Danke und einen wunderschön Sonnigen Sonntag noch :)
 

Ähnliche Themen

koje71
Antworten
1
Aufrufe
957
swa00
swa00
A
  • Alex1978
Antworten
4
Aufrufe
825
Alex1978
A
B
Antworten
4
Aufrufe
523
bb321
B
Zurück
Oben Unten