APIレベル27.0.0(Android 8.1)でAndroid Studio 3.0を使用するようにプロジェクトをアップグレードした後、フラグメント内でgetActivity()を使用することに関連して、私は完全に大丈夫だと思った)。Android Studio 3.0 lintアクティビティへの参照に関する警告
例:
((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
getActivity().getMenuInflater().inflate(R.menu.pavingreport_dialog_menu, menu);
両方の例がnull例外について文句を言います。
例:私はフィールドとして活動を追加することによって、これを修正してのonCreateか何かの間にそれを初期化することができます知っているが、これは警告のみを削除
Method invocation 'getMenuInflater' may produce 'java.lang.NullPointerException'
...
質問:
- getActivityを使用してアクティビティを参照していますか?ベストプラクティスとは何ですか?
- これは私が無視できるASの「バグ」ですか?
Fragment
で
特定のリント警告は何ですか?その 'getActivity()'は 'null'値を返しますか? – CommonsWare
[フラグメントからアクティビティへ値を渡す方法](https://stackoverflow.com/questions/41427759/how-to-pass-values-from-fragment-to-activity) –
の可能な複製があります。データを送信する代わりに、オーバーライドされた関数がメニューを膨らませるようにしてください。 –