ActionBarActivity:无法解析为某个类型

时间:2013-09-16 14:39:41

标签: java android android-actionbaractivity

我是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中,它也给我一个错误说:找不到与给定名称相匹配的资源 ..

我完全迷失了......我做错了什么?

10 个答案:

答案 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 ..

时 <\ n>在eclipse中你需要右键点击项目,转到属性,在列表中选择 Android ,然后添加< / strong>添加库

在文档中按照本教程

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.+'
}

Reference

答案 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文件。