Ich bin neu bei Android und versuche, mein erstes Programm auszuführen. Aufgrund meiner Suchanfragen im Internet denke ich jedoch, dass ich mypackage.R
nicht importieren kann, da r.Java
aufgrund von Fehlern in meinen style.xml-Dateien nicht generiert wurde. Ich habe herumgesucht und versucht herauszufinden, wie ich diese beheben kann, aber ich kann keine Korrektur finden, die funktioniert. Der Fehler in styles.xml
ist
error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'
Weiß jemand, wie man das beheben kann?
! [Fehler in style.txt] [1]
Hier ist der Code, den ich verwende:
package com.example.test;
import Android.os.Bundle;
import Android.app.Activity;
import Android.view.Menu;
import Android.view.MenuItem;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
UPDATE: Hier ist styles.xml:
<resources>
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
</resources>
UPDATE 2: Hier ist AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.test"
Android:versionCode="1"
Android:versionName="1.0" >
<uses-sdk
Android:minSdkVersion="8"
Android:targetSdkVersion="19" />
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme" >
<activity
Android:name="com.example.test.MainActivity"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Sie versuchen, Theme.AppCompat.Light
theme zu verwenden, das ein Bibliotheksprojekt ist. Sie müssen dieses Bibliotheksprojekt auf Ihr Projekt verweisen.
Prüfen Sie zunächst, ob Sie dieses Bibliotheksprojekt wie folgt installiert haben:.
Gehen Sie zu Window -> Android SDK Manager. Ein Fenster mit dem Namen Android SDK Manager erscheint wie unten.
Wenn der Android Support Library
nicht installiert ist, installieren Sie ihn. Weitere Informationen zum Android Support Library
-Setup finden Sie auf der Android Developer-Site.
Unterstützungsbibliothek einrichten
Verweisen Sie nach Abschluss der Installation von Android Support Library
die Bibliothek von diesem Pfad aus auf Ihr Projekt ...
Android-sdk/extras/Android/support/v7/appcompat
Gehen Sie folgendermaßen vor, um darauf zu verweisen:
Bereinigen und erstellen Sie Ihr Projekt und führen Sie es aus. Ich denke, nach alledem wird dein Problem gelöst.
Ich habe das Problem endlich herausgefunden. Ich musste diese Codezeile aus meinem main.xml
löschen:
Android:showAsAction="never"
In meinen values-v11
- und values-14
-Ordnern habe ich den Namen der App in ... geändert.
style name="AppBaseTheme" parent="Android:Theme.Light"
... und es funktioniert momentan.
Da Sie Theme.AppCompat.Light
in Ihrem Design verwenden, müssen Sie appCompat
in Ihr Projekt einfügen.
Datei-> Importieren (Android-sdk\extras\Android\support\v7). Wähle "appcompat"
Projekt-> Eigenschaften-> Android. In der Sektionsbibliothek
"Hinzufügen" und "appCompat" auswählen
Das sollte funktionieren.
Stellen Sie sicher, dass Sie das <resources>
-Tag ordnungsgemäß geschlossen haben, und fügen Sie am Ende Ihrer styles.xml Folgendes hinzu:
</resources>
entsprechend Ihrem geposteten Code-Snippet ist dieser nicht vorhanden, muss aber sein
Bearbeiten: Das fehlende Ressourcen-Tag war nur ein Kopier- und Fehler in Frage, daher war dies nicht der Grund.