Uygulamamda, içinde özel bir SearchView bulunan Action Bar kullanıyorum. Kullanıcı arama alanına enter düğmesine bastığında bazı özel kodları kullanmak istiyorum. Ancak, kullanıcının SearchView'da enter düğmesine bastığı anı yakalamanın bir yolunu bulamıyorum.Android Özel Arama Görünümü Ara Ara
Şimdi, arama eylemini yakalamak için birkaç yöntem denedim ancak bulamıyorum.
Benim düğmesi böyle tanımlanır:
- : Burada I`ve 2 yaklaşımlar çalıştığını görebilirsiniz
public class CustomSearchView extends SearchView implements OnClickListener, android.view.View.OnKeyListener{ public CustomSearchView(Context context) { super(context); this.setOnSearchClickListener(this); this.setSubmitButtonEnabled(true); this.setOnClickListener(this); this.setOnKeyListener(this); } @Override public void onClick(View v) { Log.d("SEARCH", "Onclick! " + this.getQuery()); } @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub Log.d("SEARCH", "Search onkey"); return false; } }
: Bununla
<item android:id="@+id/action_bar_search" android:title="Search" android:icon="@drawable/ic_menu_search" android:showAsAction="always" android:actionViewClass="-package-.CustomSearchView" />
CustomSearchView sınıfını aittir Gönderim düğmesinden onclick olayını yakalayın. Bu sadece Arama Görünümü'nü açmak için arama simgesine tıkladığımda tetiklendiğinden çalışmadı.
- SearchView içindeki tuş vuruşlarını yakalayın. Bu da çalışmadı. Orada bastığım herhangi bir anahtardan cevap almadım.
Bu SearchView ile özel Arama eylemi gerçekleştirmenin bir yolu var mı?
GÜNCELLEME: Bu davranışı geçersiz kılmaya yönelik özel bir iletişim kutusu ihtiyacım yok: PJL'nin aşağıda belirtildiği gibi
. Normal Arama Görünümü widget'i bunun için iyi çalışır.
Bir çekicilik gibi çalışır! Yardım için teşekkürler! – Bart
Mükemmel ipucu, – Bostone
Kıskançlığı kurtardığın için teşekkürler Müthiş, Bir Etkinlik başlatmadan bir Fragment içerisinde arama yapmak için bunu kullanacağım. En iyi sonuçları umuyorum: D – span