Java getSupportActionBar错误(已尝试导入正确的导入并扩展到appcompat和fragmentactivity
我试图制作一个viewpager滑块,但我一直遇到这个错误。 下面是我主要活动的代码Java getSupportActionBar错误(已尝试导入正确的导入并扩展到appcompat和fragmentactivity,java,android,intellij-idea,Java,Android,Intellij Idea,我试图制作一个viewpager滑块,但我一直遇到这个错误。 下面是我主要活动的代码 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 andro
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();
有没有一种方法可以同时应用FragmentActivity并使其扩展Appcompat?这是问题吗?如果没有,问题是什么?尝试在使用
getSupportActionBar()之前将设置SupportActionBar(mToolbar);
改为getSupportActionBar(mToolbar);
试试这种方法,首先使用设置支持操作栏设置工具栏
:
mToolbar = (Toolbar) findViewById(R.id.app_bar);
if (mToolbar != null) {
setSupportActionBar(mToolbar );
mToolbar .setTitle(R.string.app_name);
getSupportActionBar().setDisplayShowTitleEnabled(true);
}
使用AppCompatActivity
首先“设置支持操作栏(mToolbar)”扩展AppCompatActivity
类,并调用setSupportActionBar(mToolbar)
。如果您有自己的工具栏
,请确保使用自己没有操作栏
的主题
。什么是“getSupportActionBar错误”?请在方法getSupportActionBar(工具栏)中添加一些日志或错误行;
不存在。你永远不会在任何地方使用它。你可以setSupportActionBar(mToolbar)
或ActionBar ab=getSupportActionBat()
什么是工具栏
?它不总是空的吗?不应该是mToolbar
?@JaredBurrows是的,你的代码中的mToolbar和我的代码中的toolbar只是工具栏的参考对象,我已经编辑了我的答案,现在检查一下如果mToolbar
不是空的,你要再次初始化视图吗?工具栏不应该是空的。第一次,然后最后一次设置工具栏。对不起,这是错误的,我打错了我的答案,谢谢你提醒我的错误