Sto avendo uno strano problema (almeno per me). la mia app funziona perfettamente con debug apk. ma quando creo apk di rilascio, allora mostra errore in searchwidget. Sto utilizzando libreria di supporto 'com.android.support:appcompat-v7:21.0.3'non funziona nell'apk di rilascio
questo è il mio codice
@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);
}
il mio codice di 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>
primo momento ho pensato è il problema proguard quindi ho usato questo
-keepclassmembers class android.support.v7.widget.SearchView{
}
ma ancora lo stesso problema.
qualcuno può spiegare perché questo sta accadendo?
hmmm '-keepclassmembers'? sei sicuro? non '-keepnames'? – Selvin
Non so cosa usare. dovrei usare -keepnames? –
pensa solo ... cosa è necessario per creare una classe tramite la riflessione ... i suoi membri o il suo nome? – Selvin