2016-08-23 4 views
0

Ich möchte eine Aktivität laden und die Suchleiste sofort mit einer Lupe anzeigen lassen, die basierend auf dem eingegebenen Begriff zum Klicken/Suchen verfügbar ist. Hier ist, was ich sehen will, wenn ich die Aktivität laden:Suchleiste bei Aktivität laden

enter image description here

Code:

public class FlickRActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_flick_r); 
} 

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

    MenuItem searchItem = menu.findItem(R.id.search); 
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextSubmit(String query) { 
      return false; 
     } 

     @Override 
     public boolean onQueryTextChange(String newText) { 
      Toast.makeText(getApplicationContext(),newText,Toast.LENGTH_SHORT).show(); 
      return false; 
     } 
    }); 

    return true; 
    } 

} 

Menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 
<item android:id="@+id/search" 
    android:title="@string/hint_search" 
    android:icon="@android:drawable/ic_menu_search" 
    app:showAsAction="collapseActionView|ifRoom" 
    app:actionViewClass="android.support.v7.widget.SearchView" /> 
</menu> 

Antwort

1

Rufen Sie einfach searchItem.expandActionView();

Verwandte Themen