我是java和android开发的新手; 我一直在开发一个应用程序,我需要一个带有操作栏的操作栏SearchView.我看过谷歌的例子,但我无法让它工作.我一定做错了,我即将放弃应用程序开发:DI已经搜索但我没有找到任何有用的东西.也许你们可以帮助我:)
问题:我得到的搜索视图应该打开,但在此之后什么也没发生,我注意到我的searchManager.getSearchableInfo(getComponentName())返回null.另外,我给出的提示没有显示在我的搜索框中,这让我相信应用程序可能无法找到我的搜索文件?够了:)
MainActivity.java
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
// Get the SearchView and set the searchable configuration
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView =
(SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
searchable.xml
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:hint="@string/search_hint"
android:label="@string/app_label">
</searchable>
Run Code Online (Sandbox Code Playgroud)
Androidmanifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.searchapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" …Run Code Online (Sandbox Code Playgroud) 您好我正在使用android 3.0 搜索小部件(不是搜索模式),问题是我需要传递一些参数和搜索词.
Android没有调用任何这些
searchManager.setOnDismissListener( new OnDismissListener() {
@Override
public void onDismiss() {
// TODO Auto-generated method stub
Log.v(MyApp.TAG, "on dismiss search");
}
});
searchManager.setOnCancelListener( new OnCancelListener() {
@Override
public void onCancel() {
// TODO Auto-generated method stub
Log.v(MyApp.TAG, "on dismiss cancel");
}
});
@Override
public boolean onSearchRequested() {
Bundle appData = new Bundle();
appData.putLong("listino_id", this.listino_id);
this.startSearch(null, true, appData, false);
return true;
// return super.onSearchRequested();
}
Run Code Online (Sandbox Code Playgroud)
我需要我的活动不是 singleOnTop,这是我的AndroidManifest.xml
<activity android:name=".activity.ListinoProdottiActivity" android:windowSoftInputMode="stateHidden">
<!-- Receives the search request. -->
<intent-filter> …Run Code Online (Sandbox Code Playgroud)