Setsupportactionbar toolbar ошибка

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.

Here’s my code:

tool_bar.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/ColorPrimary"
    android:elevation="4dp">

</android.support.v7.widget.Toolbar>

activity.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF">
    <!-- The main content view -->
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <include
            android:id="@+id/app_bar"
            layout="@layout/tool_bar" />
    </RelativeLayout>
    <!-- Navigation Drawer -->
    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="220dp"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:background="#1C1C1C"
        android:divider="@android:color/darker_gray"
        android:dividerHeight="1dp" />

</android.support.v4.widget.DrawerLayout>

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)

How can I fix this?

Zoe's user avatar

Zoe

27.1k21 gold badges119 silver badges148 bronze badges

asked Mar 13, 2015 at 6:14

HGRC's user avatar

0

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;

answered Mar 13, 2015 at 6:29

Mohit's user avatar

MohitMohit

2,6081 gold badge22 silver badges21 bronze badges

2

In using toolbar you should extends AppCompatActivity and

import android.support.v7.widget.Toolbar 

Zoe's user avatar

Zoe

27.1k21 gold badges119 silver badges148 bronze badges

answered Oct 20, 2015 at 16:37

Kirti Chaturvedi's user avatar

1

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;

answered Sep 3, 2016 at 1:26

Suragch's user avatar

SuragchSuragch

485k316 gold badges1366 silver badges1396 bronze badges

2

For Android version above 3:

import androidx.appcompat.widget.Toolbar;

For Android version below 3:

import android.widget.Toolbar;

akelec's user avatar

akelec

3,7973 gold badges41 silver badges39 bronze badges

answered Jan 6, 2019 at 16:30

M E S A B O's user avatar

M E S A B OM E S A B O

7931 gold badge11 silver badges15 bronze badges

With the addition of androidx in Studio 3.0+ the Toolbar compatibility is now in a new library, accessible like this

import androidx.appcompat.widget.Toolbar

Aurelius Prochazka's user avatar

answered Sep 16, 2018 at 17:20

Fa-C-Shus's user avatar

Fa-C-ShusFa-C-Shus

511 silver badge2 bronze badges

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

<activity
    android:name=".PointsScreen"
    android:theme="@style/AppTheme.NoActionBar">
</activity>

answered Nov 4, 2017 at 18:21

mathias.horn's user avatar

mathias.hornmathias.horn

2411 gold badge8 silver badges12 bronze badges

0

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

answered Sep 7, 2018 at 20:37

trustidkid's user avatar

trustidkidtrustidkid

5774 silver badges6 bronze badges

2

class must be extend of AppCompatActivity to resolve the problem of setSuppertActionBar that is not recognizable

answered Feb 16, 2019 at 6:13

Mosayeb Masoumi's user avatar

1

Just change

import android.widget.Toolbar;

To

import android.support.v7.widget.Toolbar;

Zoe's user avatar

Zoe

27.1k21 gold badges119 silver badges148 bronze badges

answered May 10, 2019 at 15:51

Samer Kasseb's user avatar

ToolBar’s name can easily be changed using

android:label="My Activity"

in your Manifest File.
I just going through Manifest & found

android:label 

Helps to change according to the specific activity, Hope you’ll give it a try

answered Jun 14, 2019 at 4:23

Rushabh Gedam's user avatar

Rushabh GedamRushabh Gedam

3101 gold badge4 silver badges11 bronze badges

1

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

answered Jun 23, 2018 at 10:17

amit pandya's user avatar

amit pandyaamit pandya

1,39413 silver badges22 bronze badges

import android.support.v7.widget.Toolbar;

import it into your java class

Zoe's user avatar

Zoe

27.1k21 gold badges119 silver badges148 bronze badges

answered Jun 21, 2018 at 8:08

Vickie Kangare's user avatar

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

answered May 11, 2018 at 13:05

Manideep's user avatar

ManideepManideep

3533 silver badges13 bronze badges

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.

Here’s my code:

tool_bar.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/ColorPrimary"
    android:elevation="4dp">

</android.support.v7.widget.Toolbar>

activity.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF">
    <!-- The main content view -->
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <include
            android:id="@+id/app_bar"
            layout="@layout/tool_bar" />
    </RelativeLayout>
    <!-- Navigation Drawer -->
    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="220dp"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:background="#1C1C1C"
        android:divider="@android:color/darker_gray"
        android:dividerHeight="1dp" />

</android.support.v4.widget.DrawerLayout>

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)

How can I fix this?

This question is related to
android
android-actionbar
material-design
toolbar

The answer is


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;

In using toolbar you should extends AppCompatActivity and

import android.support.v7.widget.Toolbar 

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;

For Android version above 3:

import androidx.appcompat.widget.Toolbar;

For Android version below 3:

import android.widget.Toolbar;

With the addition of androidx in Studio 3.0+ the Toolbar compatibility is now in a new library, accessible like this

import androidx.appcompat.widget.Toolbar

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

<activity
    android:name=".PointsScreen"
    android:theme="@style/AppTheme.NoActionBar">
</activity>

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


class must be extend of AppCompatActivity to resolve the problem of setSuppertActionBar that is not recognizable


Just change

import android.widget.Toolbar;

To

import android.support.v7.widget.Toolbar;

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

ToolBar’s name can easily be changed using

android:label="My Activity"

in your Manifest File.
I just going through Manifest & found

android:label 

Helps to change according to the specific activity, Hope you’ll give it a try


import android.support.v7.widget.Toolbar;

import it into your java class


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


Questions with android tag:

Under what circumstances can I call findViewById with an Options Menu / Action Bar item?
How to implement a simple scenario the OO way
My eclipse won’t open, i download the bundle pack it keeps saying error log
getting » (1) no such column: _id10 » error
java doesn’t run if structure inside of onclick listener
Cannot retrieve string(s) from preferences (settings)
strange error in my Animation Drawable
how to put image in a bundle and pass it to another activity
FragmentActivity to Fragment
A failure occurred while executing com.android.build.gradle.internal.tasks
Why am I seeing net::ERR_CLEARTEXT_NOT_PERMITTED errors after upgrading to Cordova Android 8?
«Failed to install the following Android SDK packages as some licences have not been accepted» error
Android Gradle 5.0 Update:Cause: org.jetbrains.plugins.gradle.tooling.util
No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator
WebView showing ERR_CLEARTEXT_NOT_PERMITTED although site is HTTPS
WARNING: API ‘variant.getJavaCompile()’ is obsolete and has been replaced with ‘variant.getJavaCompileProvider()’
GoogleMaps API KEY for testing
Can I use library that used android support with Androidx projects.
How to allow all Network connection types HTTP and HTTPS in Android (9) Pie?
Android Material and appcompat Manifest merger failed
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0
How to format DateTime in Flutter , How to get current time in flutter?
How to change package name in flutter?
Failed to resolve: com.android.support:appcompat-v7:28.0
What is AndroidX?
Unable to resolve dependency for ‘:app@debug/compileClasspath’: Could not resolve
FirebaseInstanceIdService is deprecated
installation app blocked by play protect
Handling back button in Android Navigation Component
Android design support library for API 28 (P) not working
Failed to resolve: com.google.firebase:firebase-core:16.0.1
com.google.android.gms:play-services-measurement-base is being requested by various other libraries
java.lang.NoClassDefFoundError:failed resolution of :Lorg/apache/http/ProtocolVersion
Install Android App Bundle on device
Conflict with dependency ‘com.android.support:support-annotations’ in project ‘:app’. Resolved versions for app (26.1.0) and test app (27.1.1) differ.
How to develop Android app completely using python?
Invoke-customs are only supported starting with android 0 —min-api 26
Flutter.io Android License Status Unknown
How to open Android Device Monitor in latest Android Studio 3.1
Default interface methods are only supported starting with Android N
How can I change the app display name build with Flutter?
Error:(9, 5) error: resource android:attr/dialogCornerRadius not found
error: resource android:attr/fontVariationSettings not found
Flutter does not find android sdk
Error — Android resource linking failed (AAPT2 27.0.3 Daemon #0)
Error : Program type already present: android.support.design.widget.CoordinatorLayout$Behavior
flutter run: No connected devices
Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6
Still getting warning : Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT (in windows 10)

Questions with android-actionbar tag:

Under what circumstances can I call findViewById with an Options Menu / Action Bar item?
Failed to load AppCompat ActionBar with unknown error in android studio
Android transparent status bar and actionbar
ActionBarActivity is deprecated
Manage toolbar’s navigation and back button from fragment in android
setSupportActionBar toolbar cannot be applied to (android.widget.Toolbar) error
How to use SearchView in Toolbar Android
How to get Toolbar from fragment?
Display Back Arrow on Toolbar
Remove title in Toolbar in appcompat-v7
Change Toolbar color in Appcompat 21
This Activity already has an action bar supplied by the window decor
How to implement DrawerArrowToggle from Android appcompat v7 21 library
How to change option menu icon in the action bar?
Android Activity without ActionBar
Action bar navigation modes are deprecated in Android L
Implementing SearchView in action bar
Full Screen Theme for AppCompat
How to change the background color of Action Bar’s Option Menu in Android 4.2?
Android: how to hide ActionBar on certain activities
How to add Action bar options menu in Android Fragments
How to align title at center of ActionBar in default theme(Theme.Holo.Light)
How to set custom ActionBar color / style?
ActionBarCompat: java.lang.IllegalStateException: You need to use a Theme.AppCompat
Can’t Find Theme.AppCompat.Light for New Android ActionBar Support
Actionbar notification count icon (badge) like Google has
How to add button in ActionBar(Android)?
Display back button on action bar
Setting Custom ActionBar Title from Fragment
How can I implement custom Action Bar with custom buttons in Android?
Remove icon/logo from action bar on android
How do I change the android actionbar title and icon
Remove android default action bar
How to display custom view in ActionBar?
How to center align the ActionBar title in Android?
How to get the ActionBar height?
Remove shadow below actionbar
Add back button to action bar
How to display both icon and title of action inside ActionBar?
How do I hide a menu item in the actionbar?
Padding between ActionBar’s home icon and title
How to customize the back button on ActionBar
How to Set a Custom Font in the ActionBar Title?
How to hide action bar before activity is created, and then show it again?
How to disable action bar permanently
How do I change the background color of the ActionBar of an ActionBarActivity using XML?
How do you remove the title text from the Android ActionBar?
What is the size of ActionBar in pixels?
getActionBar() returns null
Android: How to change the ActionBar «Home» Icon to be something other than the app icon?

Questions with material-design tag:

Flutter: Setting the height of the AppBar
How to use the new Material Design Icon themes: Outlined, Rounded, Two-Tone and Sharp?
Selected tab’s color in Bottom Navigation View
Material UI and Grid system
How to set a ripple effect on textview or imageview on Android?
How can a divider line be added in an Android RecyclerView?
How to show Snackbar when Activity starts?
How to change the new TabLayout indicator color and height
Android Design Support Library expandable Floating Action Button(FAB) menu
Android Support Design TabLayout: Gravity Center and Mode Scrollable
How get data from material-ui TextField, DropDownMenu components?
Toolbar overlapping below status bar
How to change Toolbar Navigation and Overflow Menu icons (appcompat v7)?
setSupportActionBar toolbar cannot be applied to (android.widget.Toolbar) error
Toolbar Navigation Hamburger Icon missing
CardView not showing Shadow in Android L
Creating a SearchView that looks like the material design guidelines
Adjust icon size of Floating action button (fab)
Android «elevation» not showing a shadow
Choosing bootstrap vs material design
How do I import material design library to Android Studio?
How to implement a material design circular progress bar in android
How to achieve ripple animation using support library?
No shadow by default on Toolbar?
Error inflating class android.support.v7.widget.Toolbar?
How to implement endless list with RecyclerView?
android lollipop toolbar: how to hide/show the toolbar while scrolling?
Toolbar navigation icon never set
Coloring Buttons in Android with Material Design and AppCompat
This Activity already has an action bar supplied by the window decor
How to make Toolbar transparent?
Android Material: Status bar color won’t change
Material Design not styling alert dialogs
Android Material Design Button Styles
How to use <md-icon> in Angular Material?
Android button background color
How to provide shadow to Button
How to change progress bar’s progress color in Android

setSupportActionBar toolbar cannot be applied to (android.widget.Toolbar) error
How to change Toolbar home icon color
Creating a SearchView that looks like the material design guidelines
How to set Toolbar text and back arrow color
How do you set the title color for the new Toolbar?
In android app Toolbar.setTitle method has no effect – application name is shown as title
How do I use DrawerLayout to display over the ActionBar/Toolbar and under the status bar?

Я пытаюсь настроить панель инструментов во фрагменте.

В то время как документы Google Developer были обновлены и теперь включают код Kotlin (см. эту страницу). :

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_my)
    // Note that the Toolbar defined in the layout has the id "my_toolbar"
    setSupportActionBar(findViewById(R.id.my_toolbar))

это относится к настройке панели инструментов в действии, а не во фрагменте.

Я нашел этот сообщение SO, в котором говорится, что вы не можете просто вызвать setSupportActionBar во фрагменте. Цитировать:

Фрагменты не имеют такого метода setSupportActionBar(). ActionBar является свойством Activity, поэтому, чтобы установить панель инструментов в качестве панели действий, ваша активность должна расширяться от ActionBarActivity, а затем вы можете вызвать свой фрагмент:

Если вы используете AppCompatActivity:

((AppCompatActivity)getActivity()).setSupportActionBar(mToolbar);

Однако приведенный выше код находится в java.

Как мне назвать это в Котлине?

Существует реализация в Navigation codelab от Google, который, я думаю, сделает то, что мне нужно: позволит настроить заголовок, пункты меню и подключить навигацию вверх для различных контекстов фрагментов. Конкретно:

  1. Панель инструментов включена в основной XML-файл макета (navigation_activity.xml в этой лаборатории кода) за пределами фрагмента:

navigation_activity.xml

<LinearLayout>
    <android.support.v7.widget.Toolbar/>
    <fragment/>
    <android.support.design.widget.BottomNavigationView/>
</LinearLayout>
  1. Затем настройте панель инструментов в основном файле активности следующим образом:

MainActivity.kt

class MainActivity : AppCompatActivity() {
    private var drawerLayout: DrawerLayout? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.navigation_activity)

        val toolbar = findViewById<Toolbar>(R.id.toolbar)
        setSupportActionBar(toolbar)

        //...

        // Set up Action Bar
        val navController = host.navController
        setupActionBar(navController)

        //...

    }

    private fun setupActionBar(navController: NavController) {
        drawerLayout = findViewById(R.id.drawer_layout)

        NavigationUI.setupActionBarWithNavController(this, navController, drawerLayout)
    }

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        val retValue = super.onCreateOptionsMenu(menu)
        val navigationView = findViewById<NavigationView>(R.id.nav_view)
        // The NavigationView already has these same navigation items, so we only add
        // navigation items to the menu here if there isn't a NavigationView
        if (navigationView == null) {
            menuInflater.inflate(R.menu.menu_overflow, menu)
            return true
        }
        return retValue
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        // Have the NavHelper look for an action or destination matching the menu
        // item id and navigate there if found.
        // Otherwise, bubble up to the parent.
        return NavigationUI.onNavDestinationSelected(item,
                Navigation.findNavController(this, R.id.my_nav_host_fragment))
                || super.onOptionsItemSelected(item)
    }

    override fun onSupportNavigateUp(): Boolean {
        return NavigationUI.navigateUp(drawerLayout,
                Navigation.findNavController(this, R.id.my_nav_host_fragment))
    }
}
  1. Затем в файле фрагмента вы можете раздуть дополнительные пункты меню. В кодовой лаборатории main_menu.xml содержит элемент корзины покупок, который добавляется к настройке переполнения в основном действии выше.

MainFragment.kt

class MainFragment : Fragment() {

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                                  savedInstanceState: Bundle?): View? {
            setHasOptionsMenu(true)
            return inflater.inflate(R.layout.main_fragment, container, false)
    }

    override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
            inflater?.inflate(R.menu.main_menu, menu)
    }
}

person
Dennis 815
  
schedule
26.06.2018

Toolbar является одним из ключевых компонентов в Android для создания пользовательского интерфейса приложения. Он предоставляет удобные возможности для размещения элементов управления, таких как кнопки и текстовые поля. Однако, иногда при работе с библиотекой Setsupportactionbar могут возникать ошибки, связанные с неработающим toolbar. Они могут быть вызваны различными причинами, от неправильной настройки до конфликтующих библиотек.

Одним из часто встречающихся способов исправления ошибки является проверка наличия правильной конфигурации toolbar в файле макета. Убедитесь, что вы правильно определили toolbar в файле XML, указав его идентификатор и атрибуты. Также проверьте, что вы добавили поддержку action bar в манифесте приложения с помощью тега «uses-feature». Если все настройки верны, то проблема может быть связана с другими аспектами вашего кода.

Еще одним способом исправления ошибки может быть проверка совместимости используемых библиотек. Некоторые библиотеки могут конфликтовать с Setsupportactionbar, что может привести к неработающему toolbar. Обновление библиотеки Setsupportactionbar или проверка совместимости с другими библиотеками может помочь решить данную проблему.

Если ваши попытки решить проблему с toolbar в Setsupportactionbar не привели к успеху, рекомендуется обратиться к сообществу разработчиков Android или поискать аналогичные проблемы и их решения в Интернете. В большинстве случаев, эффективный способ исправления ошибки может быть найден с помощью общения с опытными разработчиками и анализа ответов на подобные проблемы.

Содержание

  1. Обзор возникшей проблемы
  2. Проверьте версию библиотеки support action bar
  3. Убедитесь, что вы правильно настроили action bar в вашем приложении
  4. Проверьте соответствие темы и стиля

Обзор возникшей проблемы

В ходе создания приложений с использованием Setsupportactionbar в Android иногда может возникнуть проблема с неработающим toolbar. Эта проблема может проявиться в том, что toolbar не отображается или не реагирует на действия пользователя.

Одной из наиболее частых причин возникновения этой проблемы является неправильная настройка toolbar в коде приложения. Возможно, необходимо добавить некоторые методы или вызовы функций, чтобы toolbar правильно работал.

Еще одной причиной может быть использование устаревшей или несовместимой версии библиотеки Setsupportactionbar. В этом случае необходимо обновить библиотеку до последней версии или проверить совместимость используемой версии с остальными компонентами приложения.

Также следует учесть возможные конфликты с другими компонентами или библиотеками приложения. Некоторые компоненты или настройки могут препятствовать правильной работе toolbar. Поэтому рекомендуется проверить все компоненты и настройки приложения на предмет конфликтов.

В некоторых случаях проблемы с неработающим toolbar могут быть связаны с ошибкой в самом коде приложения. Проверьте все методы и вызовы функций, связанные с toolbar, чтобы убедиться, что они правильно настроены и выполняются.

В целом, чтобы исправить проблему с неработающим toolbar, необходимо провести тщательный анализ кода приложения, настроек и компонентов, а также обновить все необходимые библиотеки. При необходимости можно обратиться к документации или к сообществу разработчиков для получения дополнительной помощи.

Проверьте версию библиотеки support action bar

Одной из причин неработоспособности toolbar в Setsupportactionbar может быть устаревшая версия библиотеки support action bar.

Версия библиотеки support action bar должна быть совместима с версией вашей Android SDK. Если используется устаревшая версия библиотеки, то возникают конфликты и неработоспособность toolbar в Setsupportactionbar.

Чтобы проверить версию библиотеки support action bar, необходимо открыть файл build.gradle модуля приложения.

В этом файле найдите зависимость com.android.support:appcompat-v7 и обратите внимание на версию. Если версия устаревшая, то необходимо обновить ее на последнюю доступную версию.

Чтобы обновить версию библиотеки, вам необходимо изменить версию зависимости в файле build.gradle. Укажите последнюю версию библиотеки, которая доступна на официальном сайте Android.

После изменения версии библиотеки не забудьте синхронизировать проект с Gradle, чтобы изменения вступили в силу.

Проверьте работу toolbar в Setsupportactionbar после обновления версии библиотеки support action bar. Если проблема сохраняется, можно искать другие возможные причины неработоспособности.

Убедитесь, что вы правильно настроили action bar в вашем приложении

Проблема с неработающим toolbar в методе Setsupportactionbar может возникнуть из-за неправильной настройки action bar в вашем приложении. Вот несколько проверенных способов исправить эту ошибку:

  1. Убедитесь, что вы правильно добавили поддержку action bar в вашем проекте. Для этого необходимо добавить <item name="windowActionBar">false</item> в файле стиля вашего приложения.

  2. Проверьте, что вы правильно связали ваше активити с темой, содержащей action bar. Для этого необходимо установить android:theme="@style/Theme.AppCompat.Light" в вашем файле манифеста для соответствующего активити.

  3. Убедитесь, что вы добавили вызов setSupportActionBar(toolbar) в методе onCreate вашего активити, где toolbar — это объект Toolbar, определенный в вашем макете.

  4. Проверьте, что у вас правильно добавлены зависимости в файле Gradle вашего проекта. Для этого добавьте строку implementation 'com.android.support:appcompat-v7:VERSION', где VERSION — это версия Support Library, которую вы используете.

  5. Используйте теги <p> для создания параграфов, <ol>, <ul> и <li> для создания списков. Это поможет сделать вашу статью более читабельной.

Проверьте соответствие темы и стиля

Одна из причин, по которой toolbar может не работать в методе Setsupportactionbar, заключается в неправильной теме или стиле, используемом в вашем приложении.

Убедитесь, что у вас правильно установлена тема приложения. Вы можете проверить это, открыв файл AndroidManifest.xml и проверив значение атрибута theme в разделе application:

<application
...
android:theme="@style/AppTheme">
...
</application>

Убедитесь, что тема AppTheme существует и правильно определена в файле ресурсов styles.xml. Пример определения темы может выглядеть так:

<resources>
...
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
</style>
...
</resources>

Если ваша тема наследуется от Theme.AppCompat, убедитесь, что у вас подключена соответствующая зависимость в файле build.gradle:

dependencies {
...
implementation 'com.android.support:appcompat-v7:X.X.X'
...
}

Также убедитесь, что вы используете правильные стили для toolbar. Они должны быть определены в файле ресурсов styles.xml. Пример определения стиля для toolbar может выглядеть так:

<style name="ToolbarStyle" parent="Widget.AppCompat.Toolbar">
...
</style>

Убедитесь, что вы правильно применяете этот стиль к вашему toolbar элементу в макете вашей активити:

<android.support.v7.widget.Toolbar
...
style="@style/ToolbarStyle">
...
</android.support.v7.widget.Toolbar>

Проверьте соответствие темы и стиля в вашем приложении, чтобы убедиться, что toolbar работает правильно в методе Setsupportactionbar.

Я искал ответ и перепробовал множество возможных решений, но, похоже, ничего не работает..

Я пытаюсь настроить панель действий материала после этого урока.

Вот мой код:

tool_bar.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/ColorPrimary"
    android:elevation="4dp">

</android.support.v7.widget.Toolbar>

activity.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF">
    <!-- The main content view -->
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <include
            android:id="@+id/app_bar"
            layout="@layout/tool_bar" />
    </RelativeLayout>
    <!-- Navigation Drawer -->
    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="220dp"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:background="#1C1C1C"
        android:divider="@android:color/darker_gray"
        android:dividerHeight="1dp" />

</android.support.v4.widget.DrawerLayout>

И, наконец, моя активность.

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

Ошибка:

setSupporActionBar (android.support.v7.widget.Toolbar) в ActionBarActivity не может быть применен к (android.widget.Toolbar)

Как я могу это исправить?

Понравилась статья? Поделить с друзьями:
  • Service tool v4720 ошибка 006
  • Setup chm ошибка 1706
  • Servostar 600 ошибки
  • Service tool v4720 ошибка 005
  • Settlement survival please check application file integrity ошибка