setsupportactionbar() throws error

2019-01-28 12:04发布

问题:

I tried following the steps for displaying a drawer above the action bar but below the status bar. The steps found here: display over the ActionBar/Toolbar and under the status bar?

But after implementing the code, the following error was thrown:
error: cannot find symbol method setSupportActionBar(Toolbar)
I've searched on Google for this exact error and not a single result.

I'm using Android Studio (1.1) and have tried using "Clean Build"
I'm using import android.support.v7.widget.Toolbar;

Toolbar toolbar = (Toolbar) findViewById(R.id.actionbar);
setSupportActionBar(toolbar); //error

Hopefully, someone recognizes this error and has a quick answer for it - otherwise I can provide more information if requested.

回答1:

Edit:

Recently ActionBarActivity has been deprecated in favor of ActionBarCompat. You should use the new one, and use as the ActionBarCompat themes, E.g. Theme.AppCompat.Light

you class has to extend ActionBarActivity instead of Activity, in order to use the method setSupportActionBar



回答2:

Delete:
import android.widget.Toolbar;

Add:
import android.support.v7.widget.Toolbar;



回答3:

ActionBarActivity is now deprecated. Use AppCompatActivity instead



回答4:

You must extend your class from ActionBarActivity from support package.



回答5:

You can try casting it:

mToolbar = (Toolbar)mFragmentView.findViewById(R.id.toolbar);
((ActionBarActivity)getActivity()).setSupportActionBar(mToolbar);

This worked for me!



回答6:

Just extend your activity to AppCompatActivity and use

import android.support.v7.widget.Toolbar;

instead of

import android.widget.Toolbar;

Hope this may help...