在Android开发中,使用ToolBar控件替代ActionBar控件,需要在java代码中使用setSupportActionBar()方法。
今天在写程序的时候,下面第二句话的toolbar下面老是有红色的波浪线,
Toolbar toolbar = (Toolbar) this.findViewById(R.id.toolBar);
setSupportActionBar(toolbar);
经过一番努力,最后发现是导入的包不对。。。
下面整理一下这方面的常见的错误,setSupportActionBar()通常的报错有两种:
1.方法参数报错
这种报错是因为导错了类
import android.widget.Toolbar;
解决方法:更换成以下代码
import android.support.v7.widget.Toolbar;
2.方法名报错
需要继承ActionBarActivity类或者AppCompatActivity类。
eg:
public class navActivity extends Activity
需要修改成下面的代码:
public class navActivity extends AppCompatActivity
因为ActionBarActivity类已经过时了,所以推荐继承AppCompatActivity类。
注意:如果继承AppCompatActivity类,则需要使用Theme.AppCompat.Light.NoActionBar主题,举个例子
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>