所以我遇到了很大的问题,我需要尽快修复它。我做了我的comp格式并安装了新版本的eclipse。我导入了我的项目以及它使用的2个库。这两个库名为v7 / gridlayout和actionbarsherlock / library。在android和引用下,它显示我包含了这2个库。他们看起来编得很好。但当我清理我的项目时,我收到一个错误:
The type com.google.android.maps.MapActivity cannot be resolved. It is indirectly referenced from required .class files
在线:
public class MainActivity extends SherlockMapActivity implements ActionBar.TabListener
好的,所以从某种原因看,我的应用程序现在需要构建为google api。所以我这样做。现在我的R文件没有创建,我收到此错误:
R cannot be resolved to a variable
我认为这可能意味着我的布局中有一些错误但在哪里?当我检查出来时,我发现他们都有同样的错误:
Missing styles. Is the correct theme chosen for this layout?
Use the Theme combo box above the layout to choose a different layout, or fix the theme style references.
所以我回到了sherlock有问题的问题......
有什么想法吗?
btw:在.xml中我用它作为主题:
xmlns:android="http://schemas.android.com/apk/res/android"
我觉得问题出在这里:
[2012-09-27 12:54:37 - com.motiviti.zmapp.MainActivity] C:\Users\mitja\Desktop \zmap\res\values-v11\styles.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light'.
[2012-09-27 12:54:37 - com.motiviti.zmapp.MainActivity] C:\Users\mitja\Desktop\zmap\res\values-v14\styles.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light.DarkActionBar'.
答案 0 :(得分:2)
您应该检查一些要点:
因为你改变了eclipse,我想你下载了最新的adt插件。如果您的项目有一个 libs 文件夹并且所有库都在那里,请检查项目属性是否在java构建路径上有这些库的引用。如果是这种情况,请删除它们,因为最新的adt插件会为您执行此操作(请记住您的文件夹名称必须为 libs )。我已经遇到过这个问题而很难找到。
如果我没错,Sherlock是一个项目图书馆,与您的项目相关联。这意味着Sherlock项目必须在您的工作区上,并且必须打开才能编译。请参阅http://actionbarsherlock.com/usage.html
来自ABS usage:Since the library is an extension of the official support library you must also have the android-support-v4.jar referenced by your project
。
检查您是否正在使用Android 4.0+进行编译,因为Sherlock需要这样做:Due to its use of the native action bar and its related classes on Ice Cream Sandwich, the library requires that both it and your project are compiled with Android 4.0 or newer. The project also requires that you are compiling with JDK 1.6 in both your editor and any build systems that you may be using.
答案 1 :(得分:0)
在你的清单中确保你使用的是ActionBarSherlock的主题。
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock">
另外添加:
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="16"/>
将您的构建目标设置为Google API,API级别16(或至少15,但相应地修改您的清单)。
确保您使用的是支持库。
答案 2 :(得分:0)
从项目属性中检查您是否选择了正在使用的Google API版本的平台版本。当我设置为没有Google API的项目设置平台版本时,我收到了完全相同的错误消息。
答案 3 :(得分:0)
在我的情况下,解决方案是从针对Android 4.0 SDK的构建切换到针对Android 4.0的“Google API”SDK构建。