2013-11-09 2 views
1

내 oncreate 함수에서이 코드를 사용하여 앱 아이콘을 눌러 탐색 창을 엽니 다.Android - 생성자 ActionBarDrawerToggle이 정의되지 않았습니다.

ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(
       this,     /* host Activity */ 
       (DrawerLayout) findViewById(R.id.left_drawer), /* DrawerLayout object */ 
       getResources().getDrawable(R.drawable.ic_drawer), /* nav drawer icon to replace 'Up' caret */ 
       getString(R.string.drawer_open), /* "open drawer" description */ 
       getString(R.string.drawer_close) /* "close drawer" description */ 
       ) { 

      /** Called when a drawer has settled in a completely closed state. */ 
      public void onDrawerClosed(View view) { 
       getActionBar().setTitle(R.string.title_activity_add); 
      } 

      /** Called when a drawer has settled in a completely open state. */ 
      public void onDrawerOpened(View drawerView) { 
       getActionBar().setTitle(R.string.drawer_title); 
      } 
     }; 

는 이제 "생성자 ActionBarDrawerToggle (AddActivity, DrawerLayout, 그리기, 문자열, 문자열) 정의되지 않는다"말했다. android.support.v4.app.ActionBarDrawerToggle을 가져 왔습니다. 문제가 어디 있니?

답변

3

생성자가 ActionBarDrawerToggle(AddActivity, DrawerLayout, Drawable, String, String)이 아닙니다. ActionBarDrawerToggle(Activity, DrawerLayout, int, int, int)입니다. 자원 ID를 참조한 결과가 아닌 마지막 세 매개 변수를 자원 ID로 변경하십시오.

+0

감사합니다. 생성자와 매개 변수를 변경했는데 이제는 "ActionBarToggle을 유형으로 해석 할 수 없습니다"라는 메시지가 표시됩니다. android.support.v4.app.ActionBarToggle 가져 오기를 시도했지만 도움이되지 않았습니다. – user2971688

+0

@ user2971688 : 죄송합니다. 클래스는'ActionBarToggle'이 아닌'ActionBarDrawerToggle'입니다. 나는 내 대답을 고쳤다. 방금 생성자 호출의 마지막 세 매개 변수를 변경해야합니다. – CommonsWare

+0

고맙습니다. 지금은 작동하는 것 같습니다. 다른 쉬운 질문을해도 될까요? 사용자가 애플리케이션을 시작할 때 항상 내비게이션 창을 열고 싶습니다. openDrawer() 함수는 어떻게 사용합니까? 내 탐색 서랍의 ID는 left_drawer입니다. – user2971688

관련 문제