setSupportActionBar toolbar error

匿名 (未验证) 提交于 2019-12-03 01:49:02

问题:

Another Android Studio question here:

I've been looking for an answer and i've tried many possible solutions, but nothing seems to work..

I'm trying to setup a Material Action Bar following this tutorial:

http://www.android4devs.com/2014/12/how-to-make-material-design-app.html

Here's my code:

tool_bar.xml:

activity.xml:

And finally my activity.java:

import android.app.ActionBar; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toolbar;   public class rutaActivity extends ActionBarActivity {  private Toolbar toolbar;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_ruta);          getSupportActionBar().hide();//Ocultar ActivityBar anterior          toolbar = (Toolbar) findViewById(R.id.app_bar);         setSupportActionBar(toolbar); //HERE'S THE PROBLEM !!!! 

Error: setSupporActionBar (android.support.v7.widget.Toolbar) in ActionBarActivity cannot be applied to (android.widget.Toolbar)

I really don't know what to do, kind of new at this...

回答1:

In You Activity.java import android.support.v7.widget.Toolbar instead of android.widget.Toolbar.

correct version

import android.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.support.v7.widget.Toolbar;   public class rutaActivity extends AppCompactActivity {  private Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_ruta);      getSupportActionBar().hide();//Ocultar ActivityBar anterior      toolbar = (Toolbar) findViewById(R.id.app_bar);     setSupportActionBar(toolbar); //NO PROBLEM !!!! 


回答2:

In using toolbar you should extends AppCompatActivity and then import android.support.v7.widget.Toolbar



回答3:

For adding a ToolBar that supports Material Design, the official documentation directions are probably the best to follow.

  1. Add the v7 appcompat support library.
  2. Make your activity extend AppCompatActivity.

    public class MyActivity extends AppCompatActivity {   // ... } 
  3. Declare NoActionBar in the Manifest.

  4. Add a toolbar to your activity's xml layout.

  5. Call setSupportActionBar in the activity's onCreate.

    @Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_my);     Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);     setSupportActionBar(myToolbar); } 

Note: You will have to import the following in the activity.

import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; 


回答4:

Certify that your Manifest declaration includes android:theme="@style/AppTheme.NoActionBar" tag, like the following:



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!