तो अपने प्रश्न के शीर्षक को देखकर, आप और सुनिश्चित करें कि कैसे जब SearchView
बंद हो रहा है पता लगाने के लिए नहीं कर रहे हैं इसलिए आप "सामान्य" राज्य जब करने के लिए अपने विचारों को बहाल करने में सक्षम नहीं हैं SearchView
अब खुला नहीं है। इस तरह से अपनी SearchView
को SearchView.OnCloseListener
,:
Android 4.0+ के रूप में
पुराने समाधान (सरल) समाधान एक जोड़ने के लिए है
SearchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
// This is where you can be notified when the `SearchView` is closed
// and change your views you see fit.
}
});
संपादित:
अद्यतन समाधान जो एंड्रॉइड 4.0+
01 में काम करता है
जाहिर है OnCloseListener
छोटी है और एंड्रॉइड (4.0+) के नए संस्करणों पर काम नहीं करता है। देखें: https://code.google.com/p/android/issues/detail?id=25758
इस का हल SearchView
का समर्थन पुस्तकालय संस्करण का उपयोग करने के लिए है:
मेरे onCreateOptionsMenu
इस तरह दिखता है:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
MenuItem searchMenuItem = menu.findItem(R.id.searchView);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
MenuItemCompat.setOnActionExpandListener(searchMenuItem, new MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
Toast.makeText(ScrollingActivity.this, "onMenuItemActionExpand called", Toast.LENGTH_SHORT).show();
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
Toast.makeText(ScrollingActivity.this, "onMenutItemActionCollapse called", Toast.LENGTH_SHORT).show();
return true;
}
});
}
क्यों गूगल नहीं भी परवाह लिखने के लिए किया था प्रलेखन में एक टिप्पणी मुझे नहीं पता, लेकिन यह उदास है।
EDIT2:
how to handle back button of Search View in android
यह भी पता चलता है OnCloseListener
के बजाय OnActionExpandListener
का उपयोग कैसे करें:
बस कड़ी जो टिप्पणी में जोड़ा @MateiRadu जोड़ने।
उम्मीद है कि इससे मदद मिलती है।
यहाँ एक नज़र http://stackoverflow.com/questions/25842555/how-to-handle-back-button-of-search-view ले लो -इन-एंड्रॉइड –
मती राडू, लिंक के लिए धन्यवाद जो मुझे आवश्यक सभी जानकारी प्रदान करता है - जिसमें th3pat3I उत्तर पर विस्तार शामिल है। – bdristan
@bdristan मैंने अपना जवाब अपडेट करने के बाद अब देखा है कि @MateiRadu ने आपको 'SearchView' खोलने/बंद करने के लिए सही उत्तर के साथ आपूर्ति की है। हालांकि मुझे उम्मीद है कि मेरा जवाब अभी भी मदद करता है क्योंकि इसमें कुछ हद तक स्पष्टीकरण है कि यह अब क्यों काम नहीं करता है :-) – Darwind