setsupportactionbar() 抛出错误
Posted
技术标签:
【中文标题】setsupportactionbar() 抛出错误【英文标题】:setsupportactionbar() throws error 【发布时间】:2015-03-24 20:45:18 【问题描述】:我尝试按照在操作栏上方但在状态栏下方显示抽屉的步骤进行操作。在这里找到的步骤: display over the ActionBar/Toolbar and under the status bar?
但是实现代码后,抛出如下错误:error: cannot find symbol method setSupportActionBar(Toolbar)
我在 Google 上搜索过这个确切的错误,而不是一个结果。
我正在使用 android Studio (1.1) 并尝试使用“Clean Build”
我正在使用import android.support.v7.widget.Toolbar;
Toolbar toolbar = (Toolbar) findViewById(R.id.actionbar);
setSupportActionBar(toolbar); //error
希望有人能识别出此错误并快速给出答案 - 否则,如果需要,我可以提供更多信息。
【问题讨论】:
你的课程必须扩展ActionBarActivity
@Blackbelt 并且不再抛出错误 - 除了应用程序现在崩溃了。但这是另一个错误。提交您的评论作为答案,我可以接受它作为解决方案。
【参考方案1】:
编辑:
最近,ActionBarActivity
已被弃用,取而代之的是 ActionBarCompat
。您应该使用新的,并将其用作ActionBarCompat
主题,例如Theme.AppCompat.Light
你的类必须扩展ActionBarActivity
而不是Activity
,才能使用setSupportActionBar
方法
【讨论】:
谢谢!这就是我要找的。span> 【参考方案2】:删除: 导入android.widget.Toolbar; 添加: 导入 android.support.v7.widget.Toolbar;
【讨论】:
这是与扩展 AppCompatActivity 一起修复它的原因 AppCompatActivity 应该被使用。 AppcompactActivity 是一个扩展 FragmentActivity 的类,它是使用支持库操作栏功能的活动的基类。所以 Activity 比所有都快,而 AppCompatActivity 是最好的。【参考方案3】:ActionBarActivity 现已弃用。改用 AppCompatActivity
【讨论】:
如果您使用 AppCompatActivity,您还需要使用主题“Theme.AppCompat.Light.NoActionBar”【参考方案4】:您必须从支持包中的ActionBarActivity
扩展您的类。
【讨论】:
【参考方案5】:您可以尝试投射它:
mToolbar = (Toolbar)mFragmentView.findViewById(R.id.toolbar);
((ActionBarActivity)getActivity()).setSupportActionBar(mToolbar);
这对我有用!
【讨论】:
【参考方案6】:对我来说,这项工作就像这样:
import androidx.appcompat.widget.Toolbar;
【讨论】:
以上是关于setsupportactionbar() 抛出错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 setSupportActionBar 后删除 Toolbar 作为操作栏