3

SearchManager で検索リクエストを処理するアクティビティがあり、問題なく動作しています。このアクティビティを MySearchActivity.java と呼びましょう。問題は、このアクティビティ内に、onSearchRequested() を呼び出して検索要求ダイアログを呼び出すボタンがあることです。

MySearchActivity.java がアクティビティ スタック内の現在のタスクであり、ユーザーが onSearchRequested() を呼び出すこのアクティビティ内のアイコンをタップすると、このアクティビティはそれ自体の上に再起動されます。そのため、アクティビティ スタック内で、同じアクティビティが 2 つ重なっています。

このアクティビティのマニフェストで android:noHistory を使用したくありません。達成したい目的に適した他のフラグが見つかりません。

ユーザーが onSearchRequested() への呼び出しを呼び出す MySearchActivity.java のアイコンをタップした場合、アクティビティがスタック内で複製されないようにしたいと思います。

私はおそらく何かを見落としているか、これを実際よりも複雑にしていることを知っています....何かアイデアはありますか?

4

1 に答える 1

0

解決策として、おそらくアクティビティの起動モードを「singleTop」に設定する必要があります (例: android:launchMode="singleTop")。@documentation の詳細な説明は次のとおりです。幸運を!

于 2012-02-28T09:00:16.640 に答える