警告タバアクティビティ内のアクティビティグループから新しいアクティビティを開く
-
24-10-2019 - |
質問
いくつかのタブがあるタバクティティがあります。各タブにはアクティビティグループが関連付けられており、ローカルアクティビティマネージャーを使用してローカルアクティビティスタックを処理します。これはすべて適切に機能しているようですが、私はまだ大規模なデバッグをしていません。
私のアクティビティのいくつかは、上部にTapactivityウィジェットがないWindowsを開く必要があります。これは私にとって十分に簡単に思えたので、私はそれを他の活動と同じように呼びました:
Intent i = new Intent(this, ActivityLeaveTabs.class);
startActivity(i);
正直に言うと、すべてがうまく機能しているように見えますが、タバアクティビティを離れるたびに、次の警告が表示されます。
フォーカスビューcom.android.internal.policy.impl.phonewindow$decorview@43e4a3888にはIDがないため、どのビューに焦点が焦点を当てていますか?
私は、この意図を、それ自体がTapactivityのタブの1つを表すアクティビティグループの一部であるアクティビティの1つから送信していることに言及する必要があります。問題は、そこから「startactivity(this、...」と呼ぶことに起因すると思われますが、getParent()を使用してバリエーションをたくさん試しましたが、これは役に立ちませんでした。
警告が何を意味するのか、それが実際に問題であるかどうかは明確ではありません。警告を解決するのに役立つか、誰かがそれについて心配しないように私に言うことができるなら(プログラムはうまく機能しているようです)、大いに感謝するでしょう!
解決
新しいアクティビティが正面に来るので、焦点を節約することと関係があるように聞こえます。
これ 問題に少し光を当てます。 DecorView
アクティビティに他のすべてのビューが含まれています。通常、IDを持つ理由はありません(ただし、プログラムで1つを設定できる場合があります)。背景に焦点があるかどうかは大したことではないので、この警告を安全に無視できると思います。
興味深いテストは、ボタンを介して次のアクティビティを起動しようとすることです onClick
または、別のビューを得る必要がある他の何かが焦点を当て、それでも警告が発生したかどうかを確認します。