0
我將搜索小部件集成到了我的操作欄中,當我提交搜索時,會打開一個屏幕(附件),因爲我打電話給我自己的自定義搜索。當我點擊後退按鈕時,該屏幕將被刪除,並顯示我的搜索結果。搜索部件彈出式菜單
這裏是我使用的代碼
public class Main_Activity extends ActionBarActivity implements SearchView.OnQueryTextListener{
protected void onCreate......{
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.action_menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) searchItem.getActionView();
setupSearchView(searchItem);
return true;
}
private void setupSearchView(MenuItem searchItem) {
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
if (searchManager != null) {
List<SearchableInfo> searchables = searchManager.getSearchablesInGlobalSearch();
SearchableInfo info = searchManager.getSearchableInfo(getComponentName());
for (SearchableInfo inf : searchables) {
if (inf.getSuggestAuthority() != null
&& inf.getSuggestAuthority().startsWith("applications")) {
info = inf;
}
}
mSearchView.setSearchableInfo(info);
}
mSearchView.setOnQueryTextListener(this);
}
@Override
public boolean onQueryTextSubmit(String query) {
handleTextSearchClickEvent(query);
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
menu.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
>
<!-- Location Found -->
<item android:id="@+id/action_location_found"
android:icon="@drawable/icon_plus"
android:title="@string/action_location_add"
app:showAsAction="always"
/>
<!--divider-->
<item android:id="@+id/divider"
android:icon="@drawable/divider"
android:title="@string/action_search"
android:enabled="false"
app:showAsAction="never"/>
<!-- Search Item -->
<item android:id="@+id/action_search"
android:icon="@drawable/icon_search"
android:title="@string/action_search"
app:showAsAction = "always"
app:actionViewClass = "android.widget.SearchView"
/>
</menu>
請人發出關於不被編譯的代碼之前,我知道,我只是顯示的必需品...
我只想知道,如果有人知道如何防止顯示屏幕?!
這將不勝感激