21

मैं लेकिन इससेना कार्रवाई बार शो खोज दृश्य

<item android:id="@+id/menu_search" 
      android:title="Search" 
      android:showAsAction="never|collapseActionView" 
      android:actionViewClass="android.widget.SearchView" /> 

की तरह कार्रवाई से खोज को देखने का विस्तार करने में सक्षम हूँ मैं एक 3-टैब गतिविधि है और मैं SearchView करना चाहते हैं हमेशा विस्तार किया जा रहा हो सकता है कैसे उस?

उत्तर

61

दो चरण आवश्यक हैं।

सबसे पहले, आपको यह सुनिश्चित करना होगा कि आपका खोज मेनू आइटम हमेशा एक क्रिया के रूप में दिखाया जाता है और कभी भी ओवरफ़्लो मेनू में नहीं जाता है। प्राप्त करने के लिए इस always करने के लिए खोज मेनू आइटम के showAsAction विशेषता निर्धारित:

<item 
    android:id="@+id/menu_search" 
    android:title="Search" 
    android:showAsAction="always" 
    android:actionViewClass="android.widget.SearchView" /> 

दूसरा, सुनिश्चित करें कार्रवाई दृश्य आइकनीकरण में नहीं दिखाया गया है डिफ़ॉल्ट रूप से (अर्थात ढह) मोड। अपनी खोज को देखने के उदाहरण पर इस कॉल setIconifiedByDefault(false) करने के लिए:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.my_activity, menu); 

    MenuItem searchViewItem = menu.findItem(R.id.menu_search); 
    SearchView searchView = (SearchView) searchViewItem.getActionView(); 
    [...] 
    searchView.setIconifiedByDefault(false); 

    return true; 
} 

कि यह करना चाहिए।

+1

thsi लाइन खोज पर एनपीई प्राप्त करनाView.setIconifiedByDefault मैंने इस कोड का उपयोग किया है SearchView searchView = (SearchView) menu.findItem (R.id.menu_search) .getActionView(); searchView.setIconifiedByDefault (झूठा); – Erum

+0

यदि आप AppCompat SearchView का उपयोग कर रहे हैं तो MenuItemCompat.getActionView (menu.findItem (R.id.menu_search)) द्वारा SearchView प्राप्त करने का प्रयास करें। –