私のマニフェストファイルと呼ばれることは決してありません私はなぜ "doMySearch"メソッドが呼び出されることはないのか分かりません。検索アクティビティは
0
A
答えて
1
の私は、過去に同様の検索アプリを作っonNewIntentでコードを入れてください。ここに私の作業コードです。
のAndroidManifest.xml
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<meta-data
android:name="android.app.default_searchable"
android:value=".SearchActivity" />
</intent-filter>
</activity>
<activity
android:name=".SearchActivity"
>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
MainActivityは、検索ウィジェットとツールバーがあります。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.search, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
ComponentName component = new ComponentName(this, SearchActivity.class);
searchView.setSearchableInfo(searchManager.getSearchableInfo(component));
searchView.setSubmitButtonEnabled(true);
return true;
}
そして最後にSearchActivity
public class SearchActivity extends AppCompatActivity {
TextView tvSearch;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
tvSearch = (TextView) findViewById(R.id.tvSearchQuery);
handleIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
doMySearch(query);
}
}
private void doMySearch(String query) {
tvSearch.setText(query);
}
}
+0
MainActivityの下で
+0
喜んで助けました。 –
0
代わりのonCreate
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
doMySearch(query);
}
}
代わりの
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.search);
doMySearch("hi");
// Get the intent, verify the action and get the query
Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
doMySearch(query);
}
}
+0
これは私には役に立たなかった。 –
関連する問題
- 1. アクティビティ検索のクラッシュ
- 2. アクティビティでルートレイアウトを検索
- 3. Facebook APIの検索「すべてのアクティビティ」
- 4. テキストのアクティビティを検索しますか?
- 5. 検索バーのアクティビティ/フラグメントのアーキテクチャ
- 6. Androidスタジオでの検索可能なアクティビティ
- 7. Androidの検索ビューで検索のアクティビティが呼び出されない
- 8. Googleマップ検索アクティビティからビジネスアドレスを取得するには
- 9. OneDrive検索では、検索は、「*」
- 10. 提案付きの複数の検索可能なアクティビティ
- 11. 同じアクティビティ内でAndroidで検索を実行します
- 12. Android onSearchRequested()ヘルプ、検索クエリを地図アクティビティに戻す
- 13. TabActivityでタブの各アクティビティを検索する方法
- 14. アクティビティからGoogle検索クエリを開始 - Android
- 15. アンドロイド、検索私のアプリケーションで検索可能アクティビティを使用しようとしている
- 16. 検索は速く、検索は遅くSSMSの検索が高速です。
- 17. 全検索は
- 18. 検索数は
- 19. は、検索= XXX
- 20. 検索は::マップ
- 21. 検索アイコンは、
- 22. MySQLは検索
- 23. バイナリ検索は
- 24. 「検索キーは」
- 25. は、検索バー
- 26. 検索は
- 27. 検索アルゴリズムは
- 28. 検索SVNは
- 29. 検索は
- 30. AlaSQLは、検索
'XML/searchable'が文字列の無いハードコーディングを持っていることを確認してください。 –