我是android-programming的新手。我正在关注this教程,使用“支持Android 2.1及以上”部分中的说明向我的Main_Activity添加 ActionBar 。
我按照this教程添加了一个Library-Project。然后在添加库之后,在“将库添加到您的应用程序项目:我感到迷茫...基本上因为我没有”添加“选项我自己在Eclipse ..
但是我点击了“添加库”并继续前进..
现在当我将Activity
更改为ActionBarActivity
时:
public class MainActivity extends ActionBarActivity { ... }
在我的mainActivity.java中,它给了我错误(ActionBarActivity和所有方法的名称和一些函数下面的红线)..当我改变时再次:
<activity android:theme="@style/Theme.AppCompat.Light" ... >
在Manifest中,它也给我一个错误说:找不到与给定名称相匹配的资源 ..
我完全迷失了......我做错了什么?
答案 0 :(得分:30)
检查您项目的lib文件夹中是否有android-support-v4.jar
文件,应将其删除!
在本教程中,如果您在执行coorect Adding libraries WITHOUT resources
之前已按照Adding libraries WITH resources
的说明操作,则会收到相同的错误。
(不知道为什么有人会做那样的事情*从自己身上眺望* ^^)
那么在我的情况下修复它的是从你的PROJECT中移除android-support-v4.jar
(而不是android-support-v7-appcompat项目),因为这导致某种库冲突(也许是因为在此期间有一个新版本的支持库)。
另一种情况,可能会显示此错误。
答案 1 :(得分:20)
这种方式适用于Google的Android开发者工具中的Eclipse -righ click - property - java build path - 添加外部JAR
指向:/ sdk / extras / android / support / v7 / appcompat / libs中的android-support-v7-appcompat.jar
然后
import android.support.v7.app.ActionBarActivity;
答案 2 :(得分:17)
听起来好像你导入了图书馆,特别是当你说at the point Add the library to your application project: I felt lost .. basically because I don't have the "add" option by itself .. however I clicked on "add library" and moved on ..
在文档中按照本教程
http://developer.android.com/tools/support-library/setup.html
答案 3 :(得分:3)
我也按照http://developer.android.com/training/basics/actionbar/setting-up.html
上的说明操作即使我在教程中做了所有事情,只要“extends Action”更改为“extends ActionBarActivity”,Eclipse中就会出现各种错误,包括“ActionBarActivity无法解析为类型”
上述解决方案都不适用于我,但有效的方法是将此行添加到顶部:
import android.support.v7.app.ActionBarActivity;
答案 4 :(得分:2)
而不是复制/粘贴教程中的代码,请使用IDE中的代码建议。开始输入&#34;扩展ActionBar ......&#34;它将提出&#34; ActionBarActivity&#34;点击进入。它对我有用!
答案 5 :(得分:1)
<强>更新强>:
自版本22.1.0起,不推荐使用 ActionBarActivity 类,因此请使用 AppCompatActivity 。 有关详细信息see here
使用ActionBarActivity :
在Eclipse中:
1 - 确保库项目(appcompat_v7)已打开&amp;在您的应用程序项目中正确引用(添加为库)。
2 - 从项目的libs文件夹中删除android-support-v4.jar(如果存在jar)。
3 - Appcompat_v7必须有android-support-v4.jar&amp; android-support-v7-appcompat.jar里面的libs文件夹。 (如果没有罐子,请从已安装的/ sdk / extras / android / support / v7 / appcompat / libs文件夹中复制它们 android sdk location)
4-检查ActionBarActivity是否已正确导入。
import android.support.v7.app.ActionBarActivity;
在Android Studio中
只需将编译依赖项添加到app的build.gradle
即可dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
}
答案 6 :(得分:0)
将此行添加到build.gradle
中的依赖项:
dependencies {
compile 'com.android.support:appcompat-v7:18.0.+'
}
答案 7 :(得分:0)
我遇到了同样的问题,但是当我添加appcompat.v7,recyclerView,CardView等其他库时,事情变得复杂了。
从lib中删除appcompat.v4对我不起作用。
我必须从头开始创建项目,我做的第一步是从libs文件夹中删除appcompat.v4,这很有效。
我刚开始这个项目,所以创建一个新项目对我来说不是一个大问题!
答案 8 :(得分:0)
'andrroid-sdk'文件夹中有错误。
您在创建需要导入某些组件的新项目时选择了一些功能。
需要下载一个特殊的android库并将其放在android-sdk
文件夹中。
对我来说它工作正常:
1 - 在extras
文件夹中创建名为android-sdk
的文件夹
2 - 在android
中创建名为extras
的文件夹
3 - Download这个文件。(在我的情况下,我需要这个库)
4 - 解压缩并复制当前android
文件夹中的内容(支持文件夹)
5关闭Eclipse
并重新开始
6 - 再次创建项目
我希望它适合你。
答案 9 :(得分:0)
对于Eclipse,请像这样修改project.properties
:(请说明您的路径)
android.library.reference.1=../../../../workspace/appcompat_v7_22
并删除项目的android-support-v4.jar
文件夹中的libs
文件。