SORU
17 ŞUBAT 2012, Cuma


'OnCloseListener s değil't iş SearchView

SearchView Android 3.0 ActionBar için destek eklemek için çalışıyorum, ama OnCloseListener işe giremiyorum.

İşte benim kod:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    searchView = (SearchView) menu.findItem(R.id.search_textbox).getActionView();
    searchView.setOnQueryTextListener(new OnQueryTextListener() {
        @Override
        public boolean onQueryTextChange(String newText) {
            searchLibrary(newText);
            return false;
        }
        @Override
        public boolean onQueryTextSubmit(String query) { return false; }
    });
    searchView.setOnCloseListener(new OnCloseListener() {
        @Override
        public boolean onClose() {
            System.out.println("Testing. 1, 2, 3...");
            return false;
        }
    });
    return true;
}

Arama mükemmel çalışır ve her OnCloseListener dışında çalışıyor. Hiçbir şey Logcat yazdırılıyor. İşte basıyorum zaman için Logcat" düğmesi: . "Kapat

02-17 13:01:52.914: I/TextType(446): TextType = 0x0
02-17 13:01:57.344: I/TextType(446): TextType = 0x0
02-17 13:02:02.944: I/TextType(446): TextType = 0x0

the documentation ve örnekleri inceledim, ama hiçbir şey değişmedi. Ice Cream Sandwich hem de Transformer Prime ve Galaxy Nexus üzerinde çalışıyor. Herhangi bir fikir?

Güncelleme:

Evet - System.out.println()yokiş. İşte kanıt:

   @Override
 public boolean onQueryTextChange(String newText) {
    System.out.println(newText   "hello");
    searchLibrary(newText);
    return false;
 }

Bu Logcat sonuçları:

02-17 13:04:20.094: I/System.out(21152): hello
02-17 13:04:24.914: I/System.out(21152): thello
02-17 13:04:25.394: I/System.out(21152): tehello
02-17 13:04:25.784: I/System.out(21152): teshello
02-17 13:04:26.064: I/System.out(21152): testhello

CEVAP
22 Mayıs 2012, Salı


Ben de bu sorunu karşılamak ve başka seçeneğim yok ama "vermek". oncloselistener Bunun yerine, switching, sonra setOnActionExpandListener. Sonra unimplents yöntemleri geçersiz kılar.

@Override
public boolean onMenuItemActionExpand(MenuItem item) {
    // TODO Auto-generated method stub
    Log.d("*******","onMenuItemActionExpand");
    return true;
}

@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
    //do what you want to when close the sesarchview
    //remember to return true;
    Log.d("*******","onMenuItemActionCollapse");
    return true;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jkimisyellow

    jkimisyellow

    6 Mayıs 2009
  • spyib

    spyib

    9 Ocak 2007
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010