470 Stimmen

Aufruf von startActivity() von außerhalb eines Activity-Kontextes

Ich habe eine ListView in meiner Android-Anwendung. Ich binden zu diesem ListView unter Verwendung einer benutzerdefinierten Unterklasse der ArrayAdapter Klasse. Innerhalb der überschriebenen ArrayAdapter.getView(...) Methode, weise ich eine OnClickListener . In der onClick Methode der OnClickListener Ich möchte eine neue Aktivität starten. Ich erhalte die Ausnahme:

Calling startActivity() from outside of an Activity  context requires the  
FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

Wie kann ich die Context dass die ListView (die aktuelle Activity ) arbeitet unter?

0voto

Sandeep Kumar Punkte 1123

Wenn Sie Share Intent im Cordova-Plugin aufrufen, ist das Setzen der Flagge nicht hilfreich. Verwenden Sie stattdessen dies -

cordova.getActivity().startActivity(Intent.createChooser(shareIntent, "title"));

-1voto

Junaid Pathan Punkte 2980

Für Menschen, die aus Xamarin.Forms o Xamarin.Android In Ihrem Xamarin.Android-Projekt verwenden Sie:

Xamarin.Essentials.Platform.CurrentActivity.StartActivity(intent);

Hinweis dass dies möglicherweise Xamarin.Essentials v1.5 oder höher erfordert

Wie @Alex Volovoy bereits erwähnt hat, sollte das Setzen von Flags vermieden werden, da es den normalen Ablauf des Ereignis- und Verlaufsstapels stört.

-2voto

Kumar Santanu Punkte 414

Aufruf von startActivity() von außerhalb eines Activity-Kontextes aus Ihrer Ansicht heraus

Nicht

val context = activity.applicationContext
openBrowser(context, MenuUrl.TERM_CONDITION)

Do

   1. val context = binding.root.context // If you are using view binding
   2. val context = yourView.context // If you are not use view binding
    openBrowser(context, MenuUrl.TERM_CONDITION)

Ich danke Ihnen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X