26 AĞUSTOS 2013, PAZARTESİ
MenuİtemCompat.getActionView her zaman null döndürür
Sadece v7 AppCompat
destek kitaplığı ama test ettim her Android sürümü(4.2.2, 2.3.4 ....) MenuItemCompat.getActionView
her zaman döndürür null uygulanan
SearchView
eylem çubuğunda görüntülenir ama dokunma eylemlerine tepki vermiyor ve EditText
göstermek için genişletmek değil ve sadece basit bir simge gibi.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
if (searchView != null) {
SearchViewCompat.setOnQueryTextListener(searchView, mOnQueryTextListener);
searchView.setIconifiedByDefault(false);
Log.d(TAG,"SearchView not null");
} else
Log.d(TAG, "SearchView is null");
}
return super.onCreateOptionsMenu(menu);
}
Menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@ id/action_search"
app:showAsAction="always|collapseActionView"
android:icon="@drawable/abc_ic_search"
android:title="@string/action_bar_search"
android:actionViewClass="android.support.v7.widget.SearchView"/>
<item android:id="@ id/action_refresh"
android:icon="@drawable/refresh"
android:title="@string/action_bar_refresh"
app:showAsAction="ifRoom"/>
</menu>
CEVAP
26 AĞUSTOS 2013, PAZARTESİ
Sonunda çözümü buldum.
app:actionViewClass
android:actionViewClass
actionViewClass
değişen adGeçerli etkinlik için
android.support.v7.widget.SearchView.OnQueryTextListener
arayüz uygulama.Doğrudan
SearchViewCompat.setOnQueryTextListener
yerinesetOnQueryTextListener
kullanın@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); if (searchView != null) { searchView.setOnQueryTextListener(this); } return super.onCreateOptionsMenu(menu); }
Bunu Paylaş:
Neden >= yanlış zaman == null değer...
Android: () getSupportActionBar her za...
Android Kamera : veri niyet döndürür n...
Null karma kodu her zaman sıfır olmalı...
Yazın.GetType("ad.bir.b.Code"...