TextWatcher mit 3 EditText

  • 0 Antworten
  • Letztes Antwortdatum
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 :)
 
Zurück
Oben Unten