मैं SearchView
Android 3.0+ ActionBar के लिए समर्थन जोड़ने का प्रयास कर रहा हूं , लेकिन मुझे नहीं मिल रहा हैOnCloseListener
काम करने की अनुमति ।
यहाँ मेरा कोड है:
@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;
}
खोज बढ़िया काम करती है और हर एक को छोड़कर काम कर रही है OnCloseListener
। लोगकैट पर कुछ भी नहीं छापा जा रहा है। जब मैं "क्लोज़" बटन दबा रहा हूं, तो यहां लॉगकोट है:
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
मैंने प्रलेखन और नमूनों के माध्यम से देखा है , लेकिन इसे बदलने के लिए कुछ भी नहीं लगा। मैं इसे आइसक्रीम ट्रांसफॉर्मर पर आसुस ट्रांसफॉर्मर प्राइम और गैलेक्सी नेक्सस पर चला रहा हूं। कोई विचार?
अपडेट करें:
हाँ - काम System.out.println()
करता है । यहाँ सबूत है:
@Override
public boolean onQueryTextChange(String newText) {
System.out.println(newText + "hello");
searchLibrary(newText);
return false;
}
इस Logcat में परिणाम:
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
showAsAction
सेट किया गया है तो मैंने दो चीजें सीखी हैं always
। खोज बॉक्स का अपना एक नजदीकी बटन होता है, लेकिन अगर वह इसके लिए सेट ifRoom | collapseActionView
होता है तो एक्शन बार पर फैलता है।