मैं SearchViewAndroid 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होता है तो एक्शन बार पर फैलता है।