getSupportActionBar错误(已尝试导入正确的导入并扩展到appcompat和fragmentactivity

时间:2016-01-13 09:11:20

标签: java android intellij-idea

我正在尝试创建一个viewpager滑块,但我一直遇到此错误。 这是我的MainActivity Below

的代码
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v7.widget.Toolbar;

public class MainActivity extends ActionBarActivity {

private Toolbar mToolbar;
private ViewPager vp;
private SlidingTabLayout mTabs;
//actionbar is the deprecated version of the toolbar

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mToolbar = (Toolbar) findViewById(R.id.app_bar);
    getSupportActionBar(mToolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);


    //Action Bar
    //ab = getActionBar();
    //ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    //ab.setDisplayShowTitleEnabled(true);
    //ViewPager
    vp = (ViewPager) findViewById(R.id.pager);
    mTabs = (SlidingTabLayout) findViewById(R.id.tabs);
    vp.setAdapter(new Adapter(getSupportFragmentManager()));
    mTabs.setViewPager(vp);
}
    @Override
    public boolean onCreateOptionsMenu (Menu menu){
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected (MenuItem item){
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

我已经查看了stackoverflow,并且我已经尝试让MainActivity扩展AppcompatActivity,并且我尝试扩展Activity以及fragmentactivity,因为我在viewpager中使用了大量片段。 错误一直发生在      getSupportActionBar(); 有没有办法同时应用FragmentAcitivty并让它扩展Appcompat?这是问题吗?如果不是什么?

3 个答案:

答案 0 :(得分:0)

在使用setSupportActionBar(mToolbar);

之前,尝试将getSupportActionBar(mToolbar);改为getSupportActionBar().setDisplayShowHomeEnabled(true);

答案 1 :(得分:0)

尝试这种方式,首先使用toolbar设置setSupportActionBar

 mToolbar = (Toolbar) findViewById(R.id.app_bar);
 if (mToolbar != null) {

        setSupportActionBar(mToolbar );
        mToolbar .setTitle(R.string.app_name);
        getSupportActionBar().setDisplayShowTitleEnabled(true);
    }

并使用class扩展您的AppCompatActivity

答案 2 :(得分:0)

首先" setSupportActionBar(mToolbar)"