void android.support.v7.widget.SearchView.setOnQueryTextListener(android.support.v7.widget.SearchVie

void android.support.v7.widget.SearchView.setOnQueryTextListener(android.support.v7.widget.SearchVie,第1张

概述我正在CustomAdapter上执行SearchView,它将搜索GateName.我尝试运行应用程序后,它突然崩溃,并给我如上所述的错误.我不知道哪个部分甚至做错了导致每次我尝试运行我的应用程序时出现此问题.MainActivity.java@OverridepublicbooleanonCreateOptionsMenu(Menumenu){g

我正在CustomAdapter上执行SearchVIEw,它将搜索Gate name.我尝试运行应用程序后,它突然崩溃,并给我如上所述的错误.我不知道哪个部分甚至做错了导致每次我尝试运行我的应用程序时出现此问题.

MainActivity.java

@OverrIDepublic boolean onCreateOptionsMenu(Menu menu) {    getMenuInflater().inflate(R.menu.main_menu, menu);    MenuItem searchItem = menu.findItem(R.ID.item_search);    SearchVIEw searchVIEw = (SearchVIEw) searchItem.getActionVIEw();    searchVIEw.setonqueryTextListener(new SearchVIEw.OnqueryTextListener() {        @OverrIDe        public boolean onqueryTextsubmit(String query) {            return false;        }        @OverrIDe        public boolean onqueryTextChange(String newText) {            List<Gate> gateSearchList = new ArrayList<Gate>();            for (Gate gate : gateList) {                if (gate.getGatename().tolowerCase().contains(newText.tolowerCase())) {                    gateSearchList.add(gate);                }            }            adapter = new GateAdapter(MainActivity.this, gateSearchList);            lv.setAdapter(adapter);            return true;        }    });    return super.onCreateOptionsMenu(menu);} @OverrIDepublic boolean onoptionsItemSelected(MenuItem item) {    if (item.getItemID() == R.ID.action_logout) {        logout();    }    return super.onoptionsItemSelected(item);}

main_menu.xml

 <item    androID:ID="@+ID/item_search"    androID:icon="@drawable/ic_action_search"    androID:actionVIEwClass="androID.support.v7.Widget.SearchVIEw"    app:showAsAction="ifRoom|collapseActionVIEw"    androID:title="Search"></item><item androID:ID="@+ID/action_logout"    androID:title="Log Out"    app:showAsAction="never"/>

这是logcat中的错误消息:

java.lang.NullPointerException: Attempt to invoke virtual method ‘voID
androID.support.v7.Widget.SearchVIEw.setonqueryTextListener(androID.support.v7.Widget.SearchVIEw$OnqueryTextListener)’
on a null object reference

它还表明错误也来自这行代码:

searchVIEw.setonqueryTextListener(new SearchVIEw.OnqueryTextListener() {

我希望有人能够为我提供解决问题的解决方案.

解决方法:

将您的androID:actionVIEwClass更改为app:actionVIEwClass,因为您正在使用来自支持lib的SearchVIEw

<item    androID:ID="@+ID/item_search"    androID:icon="@drawable/ic_action_search"    app:actionVIEwClass="androID.support.v7.Widget.SearchVIEw"    app:showAsAction="ifRoom|collapseActionVIEw"    androID:title="Search">
总结

以上是内存溢出为你收集整理的void android.support.v7.widget.SearchView.setOnQueryTextListener(android.support.v7.widget.SearchVie全部内容,希望文章能够帮你解决void android.support.v7.widget.SearchView.setOnQueryTextListener(android.support.v7.widget.SearchVie所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115806.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存