Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

getActionBar doesn't work using AppCompat lib

I'm trying to create a TabLayout android app using Intellij Idea and AppCompat v7 library.

import android.support.v7.app.ActionBar;

public class MainActivity extends FragmentActivity implements TabListener { 
...
private ActionBar actionBar;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
actionBar = getActionBar(); //Error line
...

}

When using getActionBar() I'm getting this error:

Incompatibale types:

Required: android.support.v7.app.ActionBar

Found: android.app.ActionBar

I don't have import android.app.ActionBar; in my activity. I tried:

actionBar = android.support.v7.app.ActionBar.getActionBar();

and

actionBar = getSupportActionBar();

But I get

Can't resolve method getActionBar() //Or getSupportActionBar()

How can I use getActionBar() using appCompat library? (Or maybe there is an alternative which I don't know about?)

Edit

I also replaced FragmentActivity with ActionBarActivity in this line:

 public class MainActivity extends FragmentActivity //ActionBarActivity

But got no luck

like image 788
Alex Jolig Avatar asked Jul 04 '26 23:07

Alex Jolig


1 Answers

Bad Approach

Calling older import android.support.v7.app.ActionBar;

If you are extending AppCompatActivity/FragmentActivity then you are providing backward support for older Android Versions and for that you should have to use getSupportActionBar().

Read getSupportActionBar using FragmentActivity

public class MainActivity extends AppCompatActivity {
  // ...

  ....

 ActionBar actionBar =getSupportActionBar();
}

Add this .

dependencies {
   // … 
   compile 'com.android.support:appcompat-v7:23.1.0'
}

Check Activity, AppCompatActivity, FragmentActivity, and ActionBarActivity: When to Use Which?

AppCompatActivity is from the appcompat-v7 library. Principally, this offers a backport of the action bar. Since the native action bar was added in API Level 11, you do not need AppCompatActivity for that.

For your Information How do I add a library (android-support-v7-appcompat) in IntelliJ IDEA

like image 149
IntelliJ Amiya Avatar answered Jul 07 '26 13:07

IntelliJ Amiya



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!