簡體   English   中英

在Android應用程序中使用Fabric Twitter Kit加載用戶時間線時無法設置回調

[英]Can't set callback while loading user timeline using Fabric Twitter Kit in Android application

我正在使用Fabric Twitter Kit來加載用戶時間表。 但是,我無法使回調正常工作。 我按照官方的例子,但仍然沒有調用我的successfailure方法。

這是我的完整代碼:

public class TwitterFragment extends ListFragment {


    final Callback<Tweet> callback = new Callback<Tweet>() {
        @Override
        public void success(Result<Tweet> result) {
            setListShown(true);
            Toast.makeText(getActivity(), "NotFail", Toast.LENGTH_LONG).show();
        }

        @Override
        public void failure(TwitterException e) {
            Toast.makeText(getActivity(), "Fail", Toast.LENGTH_LONG).show();
        }
    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        startWork();

    }

    public void startWork() {

        final UserTimeline userTimeline = new UserTimeline.Builder().screenName(Config.TWITTER_ACCOUNT).build();
        final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(getActivity())
                .setOnActionCallback(callback).setTimeline(userTimeline).setViewStyle(R.style.tw__TweetDarkStyle).build();
        setListAdapter(adapter);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.twitter_layout, container, false);
    }

}

任何想法如何使一切工作?

結束了搞清楚。

Callback的類型需要是`TimelineResult。 您的代碼應如下所示:

final Callback<TimelineResult<Tweet>> callback = new Callback<TimelineResult<Tweet>>() {

        @Override
        public void success(Result<TimelineResult<Tweet>> result) {
            Log.d("TAG", "success");
            progressDialog.dismiss();
        }

        @Override
        public void failure(TwitterException e) {
            Log.d("TAG", "Failure");
            progressDialog.dismiss();
            Toast.makeText(getActivity(), "Error", Toast.LENGTH_LONG).show();
        }
    };

    adapter = new TweetTimelineListAdapter.Builder(getActivity()).setTimeline(userTimeline).build();
    userTimeline.next(null, callback);

你只需要打電話

//for the first time
userTimeline.next(null, callback);

之后,您可以提供最后一條推文ID作為第一個參數,以便在最后一條推文ID之后獲得推文。

你沒有加載任何推文,就是這樣。

我希望它有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM