# setContentView (R.laout.main) funktioniert nicht



## Body (1. Mrz 2014)

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 
	
	
	
	





```
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


----------



## kaoZ (1. Mrz 2014)

weil du die Klasse R importierst

lösch den import 
	
	
	
	





```
import android.R;
```
 dann gehts 

[EDIT]passiert manchmal automatisch das er die Klasse importiert und dann das Layoutfile nicht lädt[/EDIT]


----------



## Body (1. Mrz 2014)

Danke für deine schnelle Antwort!

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

Es steht neben der Codezeile:

```
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?


----------



## kaoZ (1. Mrz 2014)

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


```
setContentView(R.layout.main);
```


 nur so funktioniert es


----------



## Body (1. Mrz 2014)

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:


```
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).


----------



## kaoZ (1. Mrz 2014)

poste bitte mal deinen jetzigen aktuellen code in Java Tags dann schau ich es mir mal an , wie lautet die Fehlermeldung jetzt ?


----------



## Body (2. Mrz 2014)

```
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"


----------



## Body (2. Mrz 2014)

Hier noch ein Bild, inklusive Package Explorer.


----------



## Body (2. Mrz 2014)

Wegen der beschriebenen Fehlermeldung kann ich die Applikation nicht laufen lassen (Run as --> Android Application)


----------



## kaoZ (2. Mrz 2014)

Das Funktioniert bei mir so ohne Probleme, lässt sich starten und der Text wird auch vorgelesen, 


```
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 .


----------



## Body (2. Mrz 2014)

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!!


----------



## kaoZ (2. Mrz 2014)

Keine Ursache , dafür simma ja da nä


----------



## Kakarott (21. Mai 2014)

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


----------



## Kakarott (21. Mai 2014)

ups 2. Seite :bloed:


----------



## kaoZ (21. Mai 2014)




----------

