-4

J'ai une classe Java dans mon projet Android, où je voulais séparer l'autorisation de facebook de l'autorisation d'email. En raison de cette ligneComment montrer Toast dans la classe qui s'étend Activité

LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email", "public_profile")); 

J'ai été obligé d'étendre ma classe FBLogin de l'activité. Ai-je bien fait ou j'aurais dû faire autrement?

Mais ma question principale est - comment afficher un message Toast dans cette classe FBLogin? cette ligne me montre des erreurs

Toast.makeText(getActivity(), "Success", Toast.LENGTH_SHORT).show(); 
+1

si '' FBLogin classe étend l'activité puis utilisez 'FBLogin.this' au lieu de' getActivity() ' –

+0

vient remplacer getActivity() avec yourclas.this – justDroid

+0

Pouvez-vous poster un peu plus code de l'endroit où vous appelez Toast.makeText (...)? Toast fonctionne dans le thread d'interface utilisateur êtes-vous sûr de ne pas l'appeler à partir d'un autre thread? La pile des erreurs peut également être utile si vous le publiez. – pleft

Répondre

1

Essayez d'utiliser:

Toast.makeText(fblogin.this, "Success", Toast.LENGTH_SHORT).show(); 
0

pour une activité normale:

Toast.makeText(FBLogin.this, "Success", Toast.LENGTH_SHORT).show(); 

étend Fragment:

Toast.makeText(getActivity(), "Success", Toast.LENGTH_SHORT).show(); 
0

Est-ce que ce

Toast.makeText(YourClassName.this, "Success", Toast.LENGTH_SHORT).show(); 

Comme si votre nom de classe est MainActivity alors vous devez faire

Toast.makeText(MainActivity .this, "Success", Toast.LENGTH_SHORT).show(); 

ou vous pouvez passer contexte de votre application.

Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_SHORT).show();