我正在使用andriod中的搜索界面,並且正在設置界面。searchView setQuery不起作用
我創建了一個SearchableActivity,它將處理用戶輸入的搜索結果。
現在我遇到了一個問題,當用戶輸入SearchView
中的某些內容並點擊搜索關鍵字時,搜索請求將被取消,然後我將接收查詢字符串並執行搜索,但此時文本在SearchView
已更改爲默認SearchHit
值,而我希望它是查詢字符串。
所以我試圖使用searchView.setQuery(query, false);
,但它不工作,有什麼問題?
核心活動代碼:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_activity_layout);
Log.d("map", "create");
handleIntent(getIntent());
}
public void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent) {
Log.d("map", "handleIntent");
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
//try search
Log.d("map", "search and set query:" + query);
searchView.setQuery(query, false); // reset the value in of the SearchView
}
}
的AndroidManifest.xml中:
<activity
android:name=".ui.MapActivity"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
你解決了這個問題嗎?即使我對同一點也有同感。 –