2014-11-12 3 views
0

탐색 용 서랍이 특징 인 내 애플리케이션에서 구현하려고하는데 검색보기를 구현하고 싶습니다. 불행히도 Nell'oncreatemenu 등 null 값을 얻습니다.SearchView and NavigationDrawer Android

로그 고양이와 소스 코드가 잘못된 이미지를 어디에 첨부 할 것인지 이해할 수 없습니다. 미리 감사드립니다. 진지하게 동일한 코드가 있지만 탐색 용 서랍 탭이 없으므로 dell'actionbar는 훌륭하게 작동했습니다.

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main_action, menu); 
    MenuItem searchItem = menu.findItem(R.id.action_search); 
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 
    searchView.setOnQueryTextListener(this); 
    //searchView.setQueryHint("Inserisci qualcosa da cercare"); 
    return super.onCreateOptionsMenu(menu); 
} 

로그 캣 :

11 ~ 12 12 : 09 : 30.900 21373-21373/com.lillonet 나는 인터넷 아무것도하지만 ...에 소스 코드를 검색 시도, 이해가 안 돼요 .megadownloaderpro E/: 장치 드라이버 API 일치 장치 드라이버 API 버전 : 23 사용자 공간 API 버전 : 23 11-12 12 : 09 : 30.900 21373-21373/com.lillonet.megadownloaderpro E/: mali : REVISION = Linux- r3p2-01rel3 BUILD_DATE = Wed Oct 9 21:05:57 KST 2013 11-12 12 : 10 : 01.740 21373-21373/com.lillonet.megadownloaderpro E/And roidRuntime : 치명적인 예외 : 주요 java.lang.NullPointerException이 com.lillonet.megadownloaderpro.NavActivity.onCreateOptionsMenu (NavActivity.java:344) 에서 android.app.Activity.onCreatePanelMenu (Activity.java:2578) 에서 안드로이드에서. android.support.v7.app.ActionBarActivityDelegate $ 1.onCreatePanelMenu에서 android.support.v7.app.ActionBarActivity.superOnCreatePanelMenu (ActionBarActivity.java:276) 에서 support.v4.app.FragmentActivity.onCreatePanelMenu (FragmentActivity.java:275) android.support.v7.app.ActionBarActivityDelegateBase.doInvalidatePanelMenu에서 android.support.v7.app.ActionBarActivityDelegateBase.preparePanel (ActionBarActivityDelegateBase.java:1056)에서 (ActionBarActivityDelegate.java:79) (ActionBarActivityDelegateB ase.java:1259) android.support.v7.app.ActionBarActivityDelegateBase.access $ 50 (ActionBarActivityDelegateBase.java:80) ActionBarActivityDelegateBase.java:119 (1.run android.support.v7.app.ActionBarActivityDelegateBase $에서에서 ) 에서 android.os.Handler.handleCallback (Handler.java:730) (android.os.Handler.dispatchMessage (Handler.java:92) at android.os.Looper.loop (Looper.java:176) 에서 android. app.ActivityThread.main (ActivityThread.java:5419) at java.lang.reflect.Method.invokeNative (네이티브 메소드) at java.lang.reflect.Method.invoke (Method.java:525) 에서 com.android .internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1046) at com.android.intern dalvik.system.NativeStart.main에서 al.os.ZygoteInit.main (ZygoteInit.java:862) (기본 방법)

enter image description here

XML 코드 :

<item android:id="@+id/action_search" 
android:icon="@android:drawable/ic_menu_search" 
app:showAsAction="ifRoom" 
android:title="Cerca" 
android:actionViewClass="android.widget.SearchView" /> 
+0

귀하의'searchView' 객체가 null : showAsAction이 같이

: 또한 당신은 '응용 프로그램에 collapseActionView을 사용해야합니다. XML이 없으면이를 해결하기가 어려울 것입니다. –

+0

달성하고자하는 것을 확인해 주시겠습니까? 당신은 탐색 서랍에 대해 이야기하고 있지만, 액션 바를위한 onCreateOptionsMenu() 안에 코드를 보여줍니다. – NSimon

+0

XML이 메뉴에서 팽창되었습니다 ... 그의 이름은 R.menu.main_action ...입니다. 이미지를보십시오. @PedroOliveira –

답변

1

android.widget.SearchView해야 대신 android.support.v7.widget.SearchView이되어야하며 접두어 app도 사용하십시오.

<item android:id="@+id/action_search" 
android:icon="@android:drawable/ic_menu_search" 
app:showAsAction="collapseActionView" 
android:title="Cerca" 
app:actionViewClass="android.support.v7.widget.SearchView" /> 
+0

패키지가 잘못되었습니다. android.support.v7.widget.SearchView,하지만 작동하지 않습니다. –

+0

맞습니다. 또한'showAsAction'을'ifRoom' 대신'collapseActionView'로 변경하십시오. –

+0

tryed하지만 작동하지 않습니다 ... :(이것은 코드입니다 :'' –