Could not find a method

G

Gast2

Gast
Hallo,

ich habe eine App mit nur einer MainActivity.java,
also nur einer java-Datei für den gesamten Quellcode
und vier xml-Layout-Dateien.

Innerhalb der *.java wechsle ich die Oberfläche
Java:
(setContentView(R.layout. ...);

Nachdem die ganze App einmal durchgelaufen ist, also ich bin bereits auf der vierten Oberfläche,
gibt es drei Button-Optionen
  1. Ende (btn_finish)
  2. noch einmal ab Oberfläche Nr.2 (btn_again)
  3. noch einmal von ganz vorn (btn_start)

So weit, so gut. Button 1 und 2 funktionieren super.
Wenn ich via Button 3 zur Startseite komme, erhalte ich wie beim ersten Durchlauf fünf Button (siehe 5 if-Abfragen unten im Quelltext) zur Auswahl.
Im ButtonListener schicke ich alle fünf Buttencklicks zu einer Methode, die auch beim ersten Durchlauf funktionierte, dieses Mal, beim zweiten Mal aber die App zum abstürzen bring.
LogCat:
Fatal Exception: main
Illegal state exception: Could not found a method goToCounter(View) in the activity class

Java:
	@Override
	public void onClick(View v) {
		if (v != btn_finish && v != btn_start) {
			if (v == btn_lac) sensNo = 0;
			if (v == btn_3da) sensNo = 1;
			if (v == btn_gra) sensNo = 2;
			if (v == btn_ori) sensNo = 3;
			if (v == btn_gyr) sensNo = 4;					
			goToCounter();
		}
		if ( v == btn_start) {beginnFromStart();}
		if (v == btn_finish) {
			finish();
		}
	}

	private void beginnFromStart() {
		setContentView(R.layout.activity_main);
	}

	private void goToCounter() {
		setContentView(R.layout.count_down);
		txv_count_down = (TextView) findViewById(R.id.txv_timer);
		zaehle();
	}

Wieso kann beim zweiten Mal die Methode nicht gefunden werden?
Hat jemand eine Erklärung oder eine Idee dazu? ???:L
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
ist 'goToCounter' nur auf diese Weise im Quellcode vorhanden oder auch irgendwo in XML-Dateien konfiguriert?

ist die Fehlermeldung 'Illegal state exception: Could not found a method'
von dir selber zusammengezimmert? wenn ja dann grobe Behinderung..

mit richtigen Text 'IllegalStateException: Could not find a method' findet man zahllose Beispiele in Suchmaschinen,
alle mit einer Methode ohne Parameter wie bei dir, und immer der Hinweis, dass man eine View als Parameter aufnehmen sollte,
public sowieso

z.B.
crash - Android exception when the function onClick bean activate - Stack Overflow

ich kann das nicht weiter beurteilen, aber vielleicht einfach dran halten und gut ist (falls es auf Anhieb auch hilft)

wahrscheinlich sollte man dann auch was mit dem View-Parameter machen,
also schon mehr nachzudenken als nur die Methode zu ändern, aber leider nicht mein Thema,
hoffe ich verscheuche keine anderen Wissenden mit früher Antwort
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Danke SlaterB,
Du hast mich auf die richtige Spur geführt.

aus der layout.xml
habe ich [XML]android:eek:nClick="goToCounter"[/XML]
entfernt.

Zusätzlich musste ich die Butten-Listener noch einmal initialisieren.

Frank
 

Neue Themen


Oben