J'ai besoin de créer un composant réutilisable de tissu Twitter.My première étape pour permettre la connexion avec Twitter en appelant simplement la méthode à partir d'une classe.
code stry> < > Classe forte> p> ici, je vais obtenir le résultat sur la méthode de rappel p> Comment puis-je réussir ce résultat (succès / échec) à l'activité Checklib pour faire d'autres actions.< :) p> p>
3 Réponses :
S'il s'agit d'un type primitif, comme un booléen ou une chaîne (OK, celui-ci n'est pas primitif, mais toujours), vous pouvez le transmettre comme un supplément dans une intention que vous envoyez à l'activité. P>
S'il s'agit d'un objet plus complexe ou que vous n'avez pas Contexte Code> Accès dans votre classe, essayez GreenRobot Eventbus, une jolie bibliothèque cool créée exactement pour de telles situations. P>
Vous pouvez définir l'écouteur pour réussir ou défaillance dans votre dans la méthode de réussite et de défaillance, vous devez remplir l'écouteur: P> dans la méthode de réussite (dans twitterauth.class): P> twitterauth.class code>, puis définissez cet écouteur dans votre activité ( checklib.class code>) pour vous en informer le succès ou l'échec , comme ceci: .
.
.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
auth = new TwitterAuth(CheckLib.this, CONSUMER_KEY, CONSUMER_SECRET);
auth.setListener(new TwitterLoginListener{
@Override
public void success(Result<TwitterSession> twitterSessionResult){
//login success
}
@Override
public void failure(TwitterException e){
//login failed
}
});
.
.
.
Merci. Oui, il y a une autre façon, comme @kelevandos a dit que vous pouvez utiliser eventbus.Si vous recherchez google, vous pouvez trouver de bonnes librares. En bus, vous pouvez enregistrer plus de cours (deux, trois, quatre, ...) et les notifier lorsqu'un événement se produit.Si cette réponse vous a aidé, pouvez-vous marquer cette réponse comme réponse acceptée.
Bien sûr, ils devraient s'inscrire sur le bus et se désenregistrer eux-mêmes lorsque leur travail effectué, l'une des bonnes utilisations de bus est en service et de l'activité rappel
You can use interface and implement the interface method from your dologin method
check my sample
public interface sampleInterface {
// you can define any parameter as per your requirement
public void yourMethod(boolean value);
}
public void doLogin(sampleInterface si) {
public void publishTweet(String tweet) {
sampleInterface sampleIn;
service = Twitter.getInstance().getApiClient().getStatusesService();
service.update(tweet, null, null, null, null, null, null, null, new Callback<Tweet>() {
@Override
public void success(Result<Tweet> tweetResult) {
Toast.makeText(context, "Tweet Updated !",
Toast.LENGTH_SHORT).show();
si.yourMethod(true);
}
@Override
public void failure(TwitterException e) {
Toast.makeText(context, "Error occured !",
Toast.LENGTH_SHORT).show();
si.yourMethod(false);
}
});
}
}
inside your activity class
public void onClick(View v) {
auth.doLogin(new sampleInterface() {
@Override
public void yourMethod(boolean value) {
//GET your result
}
});
}