Mikep3823
Mikep3823

Reputation: 261

Android error: cannot find symbol class ActionBarActivity

I am currently Using Android Studio (Beta) 0.8.6 and when I try to run an app into my device, the following error appears:

 error: cannot find symbol class ActionBarActivity

I looked up for the solution for this error and found the following: Link

Unfortunately I am not under Eclipse.

The code I try to run is the following:

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);
    }

}

I am running with API 17. Android 4.1.2 Do you have any suggestion guys?

Thanks!

Upvotes: 25

Views: 28881

Answers (6)

Miguel Tomás
Miguel Tomás

Reputation: 1911

Where you have

public class MainActivity extends ActionBarActivity {

you need to replace by

public class MainActivity extends AppCompatActivity {

you also need to change the import from

import android.support.v7.app.ActionBarActivity;

to

import android.support.v7.app.AppCompatActivity;

and finally, you need to add the dependency to the build.gradle file

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

where xxx is the compileSdkVersion version of your App., up to 28.

Upvotes: 0

Aaron Dancygier
Aaron Dancygier

Reputation: 1986

ActionBarActivity was deprecated below API level 25. Instead use AppCompatActivity

Upvotes: 57

Tim Botha
Tim Botha

Reputation: 51

You need to add the following import to your activity:

import android.support.v7.app.ActionBarActivity;

for this to work you require the support library. Take a look at this Link

Upvotes: 1

localhost
localhost

Reputation: 5598

In your build.gradle add following line under dependencies block:

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

Also make sure to have compileSdkVersion and targetSdkVersion set to 21 under android block.

Then Sync your project. If autoimport is disabled - add this import:

import android.support.v7.app.ActionBarActivity;

Also update Android Studio and gradle plugin to the latest version.

Upvotes: 2

Marcin Orlowski
Marcin Orlowski

Reputation: 75619

ActionBarActivity is not standard component of Android. You need to use support lib (docs) to have this class available (docs)

Base class for activities that use the support library action bar features.

Upvotes: 0

chkm8
chkm8

Reputation: 1302

have you included the android.support.v7.app library in your project?. You need this library in order to use the Action bar.

Please refer to this link. enter link description here

Upvotes: 0

Related Questions