Die nächste Frage, die ich diesbezüglich finden kann, ist Android Studio 3.0 lint warnings for references to activity, aber es hilft nicht.DialogFragment getActivity() "möglicherweise Null" Hinweis Warnung in AndroidStudio 3.0.1
Mit Android Studio 3.0.1, ich habe ein DialogFragment
, wo ich diese üblichen Sachen tun:
@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
...
Ich habe eine Fussel Warnung Stöhnen bei mir, dass Argument 'getActivity()' might be null
.
Ich verstehe, warum getActivity()
null sein kann, und ich verstehe, wie die Flusen Inspektion weiß das (von der @Nullable
Anmerkung).
Meine Frage ist: Es ist alles sehr gut und gut, dass getActivity()
Null sein kann, aber praktisch wie soll ich damit anmutig und sauber umgehen? onCreateDialog
muss zurückkehren ein Dialog
(wegen der übergeordneten Klasse @Nullable
Anmerkung), damit ich muss die Aktivität Kontext um es zu schaffen haben.
Ich könnte annehmen, dass onCreateDialog
nie aufgerufen wird, wenn die DialogFragment
nicht an eine Aktivität angehängt ist, aber immer noch - wie adressiere ich die unordentliche Flusenwarnung?
"Wie adressiere ich die unordentliche Flusenwarnung?" - unterdrücken Sie es und gehen Sie weiter. – CommonsWare
warum verwenden Sie nicht getContext() –
Vielleicht können Sie auf onActivityCreated oder onAttach (depacated) verlassen, die Ihnen gültige Referenz geben würde. Dann benutze es anstelle von getActivity()? – marcinj