- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我遇到了一个奇怪的问题(至少对我而言)。我的应用程序适用于调试 apk。但是当我创建发布 apk 时,它会在 searchwidget 中显示错误。我正在使用支持库 'com.android.support:appcompat-v7:21.0.3'
这是我的代码
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.searchmenu, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
final MenuItem searchItem = menu.findItem(R.id.searchwidget);
final SearchView searchView = (SearchView) MenuItemCompat
.getActionView(searchItem);
if(null!=searchManager ) {
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
}
searchView.setIconifiedByDefault(false);
SearchView.OnQueryTextListener textChangeListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
// this is your adapter that will be filtered
Programs.this.adapter.getFilter().filter(newText);
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
// this is your adapter that will be filtered
Programs.this.adapter.getFilter().filter(query);
return true;
}
};
searchView.setOnQueryTextListener(textChangeListener);
return super.onCreateOptionsMenu(menu);
}
我的菜单代码
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:title="@string/search"
android:id="@+id/searchwidget"
app:showAsAction="always|collapseActionView"
android:icon="@drawable/ic_action_search"
app:actionViewClass="android.support.v7.widget.SearchView"></item>
</menu>
一开始我以为是proguard问题所以我用了这个
-keepclassmembers class android.support.v7.widget.SearchView{
}
还是一样的问题
谁能解释为什么会这样?
最佳答案
你必须添加
-keep class android.support.v7.widget.SearchView { *; }
到 proguard-rules.pro 文件。
不知何故它与混淆器混淆有关,可能是 SearchView 中的一个错误。 (有的版本受影响,有的不受影响)
关于android - 搜索小部件在发布 apk 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27968537/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!