Twitter UserTimeline有效,但SearchTimeline似乎永远不会调用服务器

时间:2015-10-26 17:13:34

标签: android twitter twitter-fabric

我正在使用documents中的确切示例代码,但我根本没有得到SearchTimeline的推文,即

No Tweet

如果我用UserTimeline替换我得到了结果,但我的用例当然需要SearchTimeline。有没有人设法让SearchTimeline工作?另外(fyi)我为我的应用程序设置了Fabric,并且能够使用他们的Twitter帐户登录用户。

确切的代码,来自文档,但失败了:

public class SearchTimelineFragment extends ListFragment {

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

        final SearchTimeline searchTimeline = new SearchTimeline.Builder()
                .query("#twitterflock")
                .build();
        final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(getActivity())
                .setTimeline(searchTimeline)
                .build();
        setListAdapter(adapter);
    }

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

此外,我正在开发中没有PlayStore存在,以防万一。

此外

添加回调块既不会导致失败,也不会导致成功消息。好像代码完全没有执行:没有服务器调用。但是,onCreate被称为。{1}}。如果我用UserTimeline替换,我会得到结果。

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG, "onCreate");
        final SearchTimeline searchTimeline = new SearchTimeline.Builder()
                .query("#twitterflock")
                .build();
        final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(getActivity())
                .setTimeline(searchTimeline)
                .setOnActionCallback(new Callback<Tweet>() {
                    @Override
                    public void success(Result<Tweet> result) {
                        Log.d(TAG, "SearchTimeline successful");
                    }

                    @Override
                    public void failure(TwitterException e) {
                        Log.d(TAG, "SearchTimeline failed");
                        e.printStackTrace();
                        ;
                    }
                })
                .build();
        setListAdapter(adapter);
    }

我也在使用android.support.v4.app.ListFragment;

1 个答案:

答案 0 :(得分:0)

这是因为你在onCreate中设置列表适配器,而在onCreate之后调用onCreateView。

在OnCreateView中设置listAdapter。