Calling mActionBar = getActionBar () gives an error

I use the support library android.support.v7.app.actionbarbecause I want the action bar in api level 8 and above But the following sentence gives me an error, like changing mActionBar in ActionBar

mActionBar=getActionBar();

My FragmentActivity in which I will use the ActionBar tab , next

import com.example.bottomtabadapter.TabPageAdapter;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab;
import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.view.Menu;

public class TabFragmentActivity extends FragmentActivity implements ActionBar.TabListener{

private ViewPager mViewPager;
private ActionBar mActionBar;
private TabPageAdapter mAdapter;

private String[] tabs={"Chat","Groups","Contacts"};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tab_fragment);

    mViewPager=(ViewPager)findViewById(R.id.pager);
    mActionBar=getActionBar();  // here is the error
    mAdapter=new TabPageAdapter(getSupportFragmentManager());

}

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

@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
    // TODO Auto-generated method stub

}

@Override
public void onTabSelected(Tab arg0, FragmentTransaction arg1) {
    // TODO Auto-generated method stub

}

@Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
    // TODO Auto-generated method stub

}

}

+4
source share
2 answers

If you want to have an action bar for older devices from API 7 and above, you should probably extend ActionBarActiviy

+6
source

gingerbread.

public class NavigationActivity extends ActionBarActivity {


    ActionBarActivity activity;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.slide_screen);


         activity=(ActionBarActivity) Context.getApplicationContext();

        ActionBar actionBar = getSupportActionBar();

}
+5

Source: https://habr.com/ru/post/1527081/


All Articles