【问题标题】:Android error: cannot find symbol class ActionBarActivityAndroid 错误:找不到符号类 ActionBarActivity
【发布时间】:2015-01-06 11:31:29
【问题描述】:

我目前使用的是 Android Studio (Beta) 0.8.6,当我尝试在我的设备中运行应用程序时,出现以下错误:

 error: cannot find symbol class ActionBarActivity

我查找了此错误的解决方案,发现以下内容: Link

不幸的是,我不在 Eclipse 下。

我尝试运行的代码如下:

package com.example.doblevxv5.sunny;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

/**
 * Created by Doble Vx V5 on 8/11/14.
 */
public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new ForecastFragment())
                    .commit();
        }
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

}

我使用 API 17 运行。Android 4.1.2 大家有什么建议吗?

谢谢!

【问题讨论】:

  • 这是因为该类找不到 ActionBarActivity 类。你犯的错误是你没有导入ActionBarActivity。给你import android.support.v7.app.ActionBarActivity; 为此,你需要将 appCompat_v7 导入你的工作区!如果您是初学者,我会鼓励您开始使用 Eclipse。
  • 我希望我可以使用另一个 IDE。不幸的是,我必须在我正在学习的这门课程中使用 Android Studio。我已经导入了,但日志显示如下:错误:(6、30)错误:包 android.support.v7.app 不存在
  • 转到您的 build.gradle 并添加 `compile 'com.android.support:appcompat-v7:21.0.+'` 并构建您的 gradle 并给出导入语句。
  • 当我尝试将其导入 build.gradle 时,会出现以下消息:错误:检索项目的父项时出错:未找到与给定名称“android:TextAppearance.Material”匹配的资源。跨度>
  • 我认为你错过了很多基本的东西。我鼓励您首先学习和了解 Android Studio IDE。您需要将您的项目设置为 5.0,我希望您下载了最新的 api。打开 SDK 管理器并安装或更新最新的 api 特别工具类。

标签: android compiler-errors


【解决方案1】:

您是否在项目中包含了 android.support.v7.app 库?您需要此库才能使用操作栏。

请参考此链接。 enter link description here

【讨论】:

  • 我刚刚做了,它显示:Error:(6, 26) error: package android.support.v7 does not exist
【解决方案2】:

ActionBarActivity 不是 Android 的标准组件。您需要使用支持库 (docs) 才能使用此类 (docs)

使用支持库操作栏的活动的基类 功能。

【讨论】:

    【解决方案3】:

    您需要将以下导入添加到您的活动中:

    import android.support.v7.app.ActionBarActivity;
    

    为此,您需要支持库。看看这个 Link

    【讨论】:

    • 刚刚添加它并显示以下内容:错误:(6, 30) 错误:包 android.support.v7.app 不存在我确实看过该链接,但仍然没有工作。谢谢!
    • 您下载了支持包吗?这是另一个可能有帮助的链接developer.android.com/tools/support-library/setup.html
    【解决方案4】:

    在您的 build.gradle 块下添加以下行:

    compile 'com.android.support:appcompat-v7:21.0.+'
    

    还要确保在 android 块下将 compileSdkVersiontargetSdkVersion 设置为 21

    然后同步您的项目。如果 autoimport 被禁用 - 添加这个导入:

    import android.support.v7.app.ActionBarActivity;
    

    还将 Android Studio 和 gradle 插件更新到最新版本。

    【讨论】:

    • 已经这样做了,这是日志显示的第一行:错误:检索项目的父项时出错:未找到与给定名称“android:TextAppearance.Material”匹配的资源。
    • 不适合android studio 3.0.1
    【解决方案5】:

    ActionBarActivity 在 API 级别 25 以下已被弃用。改为使用 AppCompatActivity

    【讨论】:

    • 谢谢亚伦,这为我解决了!不得不切换一些使用旧导入的位置。
    【解决方案6】:

    你在哪里

    public class MainActivity extends ActionBarActivity {
    

    你需要替换为

    public class MainActivity extends AppCompatActivity {
    

    您还需要更改导入来源

    import android.support.v7.app.ActionBarActivity;
    

    import android.support.v7.app.AppCompatActivity;
    

    最后,您需要将依赖项添加到build.gradle 文件中

    implementation 'com.android.support:appcompat-v7:xxx.0.+'
    

    其中 xxx 是您应用的 compileSdkVersion 版本,最多 28 个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      • 2019-11-01
      • 1970-01-01
      相关资源
      最近更新 更多