setContentView (R.laout.main) funktioniert nicht

Body

Mitglied
Hallo zusammen

Ich habe mir ein Buch gekauft (Android-Apps entwickeln für Einsteiger), bin jetzt total begeistert und motiviert eine App zu programmieren (natürlich anfangs eine sehr kleine).
Ich habe mir Eclipse, Sdk usw. installiert, damit es mir möglich ist eine App zu entwickeln.
Jedoch habe ich jetzt schon ein Problem, welches ich auch nicht per Google lösen konnte und hoffe darum hier bei den Profis Hilfe zu finden.

(Siehe Bild). Ich habe nach einer Vorlage diesen Code geschrieben, jedoch erkennt es das Layout nicht. Also neben dem Code
Java:
setContentView(R.layout.main);
steht:

Multiple Markers at this line:
- R cannot be resolved to a variable
- main cannot be resolved or is not a field

Denn Import habe ich mit CTRL-Shift-O vorgenommen.

Ich habe Eclipse schon geschlossen und wieder geöffnet und auch das Projekt gelöscht und erneut geschrieben, jedoch funktioniert es leider nicht. 🙁

Kann mir jemand weiterhelfen?

Besten Dank und freundliche Grüsse
Nicolas

EDIT: Ich verwende Android 2.2 in Eclipse
 

Anhänge

  • javaproblem_1.PNG
    javaproblem_1.PNG
    53,1 KB · Aufrufe: 52
Zuletzt bearbeitet:
weil du die Klasse R importierst

lösch den import
Code:
import android.R;
dann gehts 😉

[EDIT]passiert manchmal automatisch das er die Klasse importiert und dann das Layoutfile nicht lädt[/EDIT]
 
Zuletzt bearbeitet:
Danke für deine schnelle Antwort!

Muss ich dann aus dieser Zeile das "R." auch löschen?

Es steht neben der Codezeile:
Java:
setContentView(R.layout.main);

"R cannot be resolved to a variable"

Und wenn ja, damit ich es verstehe. Es gibt kein R-Verzeichnis, wo es importiert werden sollte?
 
nein musst du nicht, warum dem so ist kannst du diesem Artikel entnehmen, es ist grad für Beginner verwirrend warum mit Strg+Shift+O manchmal der Import stattfindet, und dann R auf ein File verweist das nicht existiert.

import android.R in Eclipse : Why? - Stack Overflow

Entferne lediglich den Import und lass den rest wie es ist , also so

Java:
setContentView(R.layout.main);


nur so funktioniert es
 
Zuletzt bearbeitet:
okay, gut wieder etwas gelernt.

Nur ich habe den Import gelöscht und dann gespeichert. Jedoch wird das "R" in der bereits erwähnten Zeile immer noch rot unterstrichen:

Java:
setContentView(R.layout.main);

und die Fehlermeldung am linken Rand immer noch angezeigt (darum läuft die Applikation nicht, weil es noch eine Fehlermeldung hat.

Was mache ich falsch?

Entschuldige bitte, dass ich mich ein bisschen doof anstelle.

EDIT: Wenn das im Artikel steht, dann sorry (lese ihn gleich).
 
Zuletzt bearbeitet:
poste bitte mal deinen jetzigen aktuellen code in Java Tags dann schau ich es mir mal an , wie lautet die Fehlermeldung jetzt ?
 
Java:
package de.androidnewcomer.saghallo;

import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;


public class StartActivity extends Activity implements OnInitListener {
	
	private TextToSpeech tts;
		
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		tts = new TextToSpeech(this, this);
		}
		
	@Override
	public void onInit(int arg0) {
		tts.speak("Hallo!", TextToSpeech.QUEUE_FLUSH, null);
		

	}	

}


Fehlermeldung: "R cannot be resolved to a variable"
 
Das Funktioniert bei mir so ohne Probleme, lässt sich starten und der Text wird auch vorgelesen,

Java:
package sh.kaoz.tts;

import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;

public class MainActivity extends Activity implements OnInitListener{
	
	private TextToSpeech tts;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		tts = new TextToSpeech(this, this);
		
	}

	@Override
	public void onInit(int arg0) {
		tts.speak("Hello", TextToSpeech.QUEUE_FLUSH, null);
		
	}


}



du solltest einfach mal dein Projekt löschen und ein neues erstellen und schauen ob die Fehlermeldung immernoch vorkommt, falls ja könnte es evtl ein Problem mit der installation des ADT sein, dann solltest du vielleicht Eclipse incl. ADT mal neu aufsetzen, oder mal den Classpath überprüfen .
 
Zuletzt bearbeitet:
Danke für deine grossartige Hilfe! Projekt habe ich schon gestern gelöscht und neu erstellt. Nachdem dies auch nicht funktioniert hat, habe ich alles deinstalliert und wieder neu installiert. Und siehe da du hattest recht!!!!! :toll:

Vielen Dank für deine Hilfe und deinen Aufwand den du dir gemacht hast!! 🙂
 
Hallo Zusammen,

hab exakt das gleiche Problem. Ich würde gerne wissen ob das beim Themenstarter geklappt hat nachdem JDK neu aufgesetzt wurde.
Ich arbeite mit Android Studio(unter Mint) und das wird ja nicht installiert sondern nur entpackt. deshalb weis ich nicht ob es bei mir Sinn macht das Tool neu aufzusetzen. meine JDK version ist eigentlich auch die aktuelle.

vielen dank im vorraus
 
Zuletzt bearbeitet:

Zurück
Oben