setSupportActionBar toolbar cannot be applied to (android.widget.Toolbar) error

前端 未结 13 1372
没有蜡笔的小新
没有蜡笔的小新 2020-11-30 03:45

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 tutor

相关标签:
13条回答
  • 2020-11-30 04:07

    I was using previously this code:

    Toolbar toolbar =  findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    

    and extended AppCompatActivity also but I was getting the same error. So in place of using Toolbar class, I have imported the below class and it worked for me:

    android.support.v7.widget.Toolbar
    
    0 讨论(0)
  • 2020-11-30 04:09

    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.

      <application
          android:theme="@style/Theme.AppCompat.Light.NoActionBar"
          />
      
    4. Add a toolbar to your activity's xml layout.

      <android.support.v7.widget.Toolbar
         android:id="@+id/my_toolbar"
         android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
         ...
         />
      
    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;
    
    0 讨论(0)
  • 2020-11-30 04:09

    For Android version above 3:

    import androidx.appcompat.widget.Toolbar;
    

    For Android version below 3:

    import android.widget.Toolbar;
    
    0 讨论(0)
  • 2020-11-30 04:13

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

    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 !!!!
    

    Update:

    If you are using androidx, replace

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

    with newer imports

    import androidx.appcompat.widget.Toolbar;
    import androidx.appcompat.app.AppCompatActivity;
    
    0 讨论(0)
  • 2020-11-30 04:18

    Adding import android.support.v7.widget.Toolbar to the import list resolve this issue.

    Then add the toolbar widget layout file:

    <android.support.v7.widget.Toolbar
        android:id="@+id/list_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:theme="?attr/actionBarTheme"
        />
    

    In onCreate method of java code

    //call to
    

    Tootbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar);

    Source: https://developer.android.com/training/appbar/up-action

    0 讨论(0)
  • 2020-11-30 04:24

    In You MainActivity.java import android .support.v7.widget.Toolbar insert of java program

    0 讨论(0)
提交回复
热议问题