繁体   English   中英

Android的SearchView和NavigationDrawer

[英]SearchView and NavigationDrawer Android

我正在尝试在以导航抽屉为特征的应用程序中实现,我想实现搜索视图。 不幸的是,我得到一个空值nell'oncreatemenu等。

我不明白我在哪里附加了错误的图像,日志猫和源代码。 预先感谢您,真诚地使用相同的代码,但没有导航抽屉选项卡,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);
}

logcat的:

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 /:马里: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 / AndroidRuntime:致命异常:位于com.lillonet.megadownloaderpro.NavActivity.onCreateOptionsMenu(NavActivity.java:344)处的主要java.lang.NullPointerException,位于android.support.v4.app.FragmentActivity处的android.app.Activity.onCreatePanelMenu(Activity.java:2578)。 android.support.v7.app.ActionBarActivity.superOnCreatePanelMenu(ActionBarActivity.java:276)上的onCreatePanelMenu(FragmentActivity.java:275).android.support.v7.app.ActionBarActivityDelegate $ 1.onCreatePanelMenu(ActionBarActivityDelegate.java:79)上的onCreatePanelMenu(FragmentActivity.java:275)。在android.support.v7.app上的support.v7.app.ActionBarActivityDelegateBase.preparePanel(ActionBarActivityDelegateBase.java:1056)。 ActionBarActivityDelegateBase.doInvalidatePanelMenu(ActionBarActivityDelegateBase.java:1259)在android.support.v7.app.ActionBarActivityDelegateBase.access $ 100(ActionBarActivityDelegateBase.java:80)在android.support.v7.app.ActionBarActivityDelegateBase $ 1.run(ActionBarActivity :)在android.os.Looper.loop(Looper.java:176)在android.os.Handler.dispatchMessage(Handler.java:92)在android.os.Looper.loop(Looper.java:176)在android.os.Handler.handleCallback(Handler.java:730)位于com.android.internal.os上的java.lang.reflect.Method.invokeNative(本机方法)处的ActivityThread.main(ActivityThread.java:5419)(java.lang.reflect.Method.invoke(Method.java:525)处)。 ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1046)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)在dalvik.system.NativeStart.main(本机方法)

在此处输入图片说明

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" />

android.widget.SearchView应该android.support.v7.widget.SearchView来代替,而app前缀了。 另外,您还应该在`app:showAsAction上使用collapseActionView

像这样:

<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" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM