2015-03-30 20 views
7

Ciągle pojawia się komunikat o tym, że ActionBarDrawerToggle nie może być zastosowany do wersji v7.widget.Toolbar, a ponieważ przyjrzałem się, jak inni naprawili podobny problem, to teraz obie biblioteki obsługują plików, ale błąd nie znika z jakiegoś powodu. ActionBarDrawerToggle() w ActionBarDrawerToggle nie mogą być stosowane do android.support.v7.widget.Toolbar następnie pod rzeczywistą argumentuNie można zastosować ActionBarDrawerToggle do pliku Android.support.v7.widget.Toolbar

Błąd mówi R.id.drawable_ic_drawer (int)

import android.support.v7.app.ActionBarDrawerToggle; 
 
import android.support.v4.view.GravityCompat; 
 
import android.support.v4.widget.DrawerLayout; 
 
import android.content.SharedPreferences; 
 
import android.content.res.Configuration; 
 
import android.os.Bundle; 
 
import android.preference.PreferenceManager; 
 
import android.view.LayoutInflater; 
 
import android.view.Menu; 
 
import android.view.MenuInflater; 
 
import android.view.MenuItem; 
 
import android.view.View; 
 
import android.view.ViewGroup; 
 
import android.widget.AdapterView; 
 
import android.widget.ArrayAdapter; 
 
import android.widget.ListView; 
 
import android.widget.Toast; 
 
import android.support.v7.widget.Toolbar;

mDrawerToggle = new android.support.v7.app.ActionBarDrawerToggle(
 
       getActivity(),     /* host Activity */ 
 
       mDrawerLayout,     /* DrawerLayout object */ 
 
       R.drawable.ic_drawer,    /* nav drawer image to replace 'Up' caret */ 
 
       R.string.navigation_drawer_open, /* "open drawer" description for accessibility */ 
 
       R.string.navigation_drawer_close /* "close drawer" description for accessibility */ 
 
     ) {

Część który mówi aby popełnić błąd, jest R.drawer.ic_drawer. Jak mogę to rozwiązać?

+0

trzeba przejść 'toolbar' zamiast' R.drawable.ic_drawer' w konstruktor. @Vimbainashe – Pooja

Odpowiedz

9

ActionBarDrawerToggle Constructor jest następujący.

android.support.v7.app.ActionBarDrawerToggle.ActionBarDrawerToggle(Activity activity, 
DrawerLayout drawerLayout, 
Toolbar toolbar, 
int openDrawerContentDescRes, 
int closeDrawerContentDescRes) 

jesteś przejazdem R.drawable.ic_drawer rozciągliwej zamiast paska, dlatego otrzymujesz ten błąd.

Utwórz pasek narzędzi i dodaj go jako pasek akcji i przekaż ten pasek narzędzi do tego konstruktora.

+0

Dziękuję bardzo. Twoja odpowiedź była bardzo pouczająca i pomocna !! :). @ Pooja –

+1

Ale [tutaj] (https://developer.android.com/training/implementing-navigation/nav-drawer.html#OpenClose) na oficjalnej stronie programistów używają 'R.drawable.ic_drawer 'zamiast' toobar' – eMAD

+2

@eMAD Link, do którego się odwołujesz, używa 'ActionBarDrawerToggle' v4. Możesz go znaleźć tutaj https://developer.android.com/reference/android/support/v4/app/ActionBarDrawerToggle.html. I jest przestarzałe. Moja odpowiedź jest zgodna z 'ActionBarDrawerToggle' v7. Możesz go znaleźć tutaj https://developer.android.com/reference/android/support/v7/app/ActionBarDrawerToggle.html – Pooja

Powiązane problemy