我想在android中获取facebook用户的喜欢。我成功地使用graph api获取了喜欢的内容,但是找不到如何启用通知机制以便更新UI的方法。
public class A{
// Holds all the facebook related information here.
public void fetchLikes(){
mAsyncRunner.request( "me/likes", new RequestListener() {
@Override
public void onComplete(String response, Object arg1) {
//update the liked pages to database here.
}
}
}
}
public class B{
public void afterLogin(){
A a = new A();
a.fetchLikes(); // Problem is after here.
updateUI();
}
public void updateUI(){
//updating UI here
}
}
因为facebook提取是在自己的facebook async runner上完成的。我无法提供解决方案来向呼叫者发送通知。 在上面的情况下,在调用a.fetchLikes()之后,它正在更新我的本地数据库。但是在进程完成之前,updateUI()正在调用并尝试更新我的活动。
请大家,你能提供解决这个问题的方法吗?在完成这个过程后,我需要一些东西通知我。
谢谢, 维杰
答案 0 :(得分:1)
看起来你想从updateUI()
的{{1}}处理程序调用{{1}},(假设从UI线程调用onComplete()
。我不熟悉Facebook的AsyncRunner
课程。)
我会通过onComplete()
接受某个界面来完成此操作,我可以从中调用AsyncRunner
。
fetchLikes()
然后,您可以在updateUI()
中创建一个匿名内部类来呼叫public class A {
public void fetchLikes(OnFetchLikesComplete callback){
mAsyncRunner.request( "me/likes", new RequestListener() {
@Override
public void onComplete(String response, Object arg1) {
callback.onComplete(response, arg1);
}
}
public interface OnFetchLikesComplete {
void onComplete(String response, Object arg1);
}
}
。
B