Sonntag, Dezember 15, 2019

„Überschreibt veraltete Methode“ auf onCreateDialog

Ich habe eine Klasse, in der ich bin versuchen, um eine Dialog aber wenn ich die Methode onCreateDialog es scheint durchzogen von einer Linie. Es gibt mir die folgende Fehlermeldung:

Überschreibt deprecated-Methode ‚android.app.Aktivität“.

Dieser Prüfung zu berichten, in denen abgelehnte Methode verwendet wird, die in der angegebenen Prüfumfang.

Aber wenn ich auf die offizielle Dokumentation von Android, die ich nicht sehen, dass diese Methode veraltet, so verstehe ich nicht, was passiert: onCreateDialog

Meine onCreateDialog code:

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
        case 1:
            return new DatePickerDialog(this, datePickerListener, year, month, day);
        case 2:
            return new TimePickerDialog(this, timePickerListener, hour, minute,false);
    }

    return null;
}

Aber wenn ich das ausführen meiner Anwendung, es funktioniert, so habe ich einige Fragen:

  • Warum lassen Sie es zu mir, auf dem die Anwendung ausgeführt?

  • Wie kann ich es lösen?

  • Ist es schlimm, dass diese Meldung erscheint? Ich meine, könnte ein problem im Zusammenhang von es? Könnte es erzeugen Probleme in der Zukunft?

Jede Hilfe, die mir hilft, zu klären, wäre es sehr geschätzt.

Vielen Dank im Voraus!

1 Kommentar

  1. 7

    - Aktivität.onCreateDialog() ist veraltet.

    Wurde diese Methode deprecated in API-level 13.
    Verwenden Sie die neue Klasse DialogFragment mit FragmentManager statt; dies ist auch auf älteren Plattformen über den Android compatibility package.

    Veraltet code bedeutet, es ist entmutigt und kann nicht unterstützt werden, gehen nach vorne. Das bedeutet nicht unbedingt, der code funktioniert nicht; es kann immer noch laufen wie vorher, aber wenn änderungen vorgenommen werden, brechen diese Funktionalität, es gibt keine Garantie, wer wird es beheben, da haben Sie gesagt, es sollte nicht verwendet werden.

    Es zu „reparieren“, sollten Sie schauen, DialogFragment und wie Fragmente im Allgemeinen, und zeigen Sie einer von denen, statt.

    • Mein Gott!!! Gerade war ich auf der Suche in die falsche .onCreateDialog. Danke für die gute Erklärung 😉
    • Danke für deine Antwort. This class was deprecated in API level 28. Use the Support Library DialogFragment for consistent behavior across all devices and access to Lifecycle. New class; DialogFragment

Kostenlose Online-Tests

Ihre Entwicklerrolle