2017-03-27 3 views
0

Ich möchte von Fragment zu Activity mit der seOnClickListener gehen.
Above Code funktioniert nichtwie wir starten Aktivität von Fragmenten

+0

Da ein Fragment ('this') hat keinen eigenen Kontext haben. –

+1

'Es funktioniert nicht' es ist keine Erklärung. Überprüfen Sie [Wie zu fragen] (https://stackoverflow.com/help/how-to-ask) – JonZarate

Antwort

-1
Intent i = new Intent(getActivity(), ActivityTwo.class); 
getActivity.startActivity(i); 
0
Intent i = new Intent(FragmentName.this.getActivity(), ActivityTwo.class); 
FragmentName.this.startActivity(i); 
+1

Fragmente haben * StartActivity * Methode – JonZarate

+0

Ja, ich war refactor Antwort. @JonZarate –

+0

Sie haben keine relevante Änderung vorgenommen. Es ist immer noch falsch. – JonZarate

2

Sie verwenden sollten:

Intent intent = new Intent(getActivity(), ActivityTwo.class); 
getActivity().startActivity(intent) 
-1
In your fragment write below code. 

private Activity mActivity; 

@Override 
    public void onAttach(Context context) { 
     super.onAttach(context); 
     mActivity = (Activity) context; 
    } 

and then call your activity 

Intent intent = new Intent(mActivity, ActivityTwo.class); 
mActivity.startActivity(intent); 

this will work for you. 
+0

Overkill. Keine Erklärung und keine Codebeschreibung. – JonZarate

+0

@JonZarate was nicht im obigen Code erklärt wird? –

+1

Warum muss ich eine 'Activity'-Instanz speichern, wenn ich' getActivity() 'kann? Ihr Mitglied 'mactivity' ist nicht notwendig. – JonZarate

Verwandte Themen