Twitter用户时间线可用,但搜索时间线似乎从未调用服务器。

3
我正在使用文档中给出的确切示例代码,但对于SearchTimeline, 我没有收到任何推文。
No Tweet

如果我将它替换为UserTimeline,我可以得到结果,但是对于我的使用情况,我当然需要SearchTimeline。有人设法使SearchTimeline起作用吗?此外(供参考),我为我的应用程序设置了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);
    }
}

此外,我正在进行开发,没有Play商店的存在,如果这很重要的话。
此外,
添加回调块不会出现失败或成功消息。就好像代码完全没有执行一样:没有服务器调用。但是,onCreate被调用。如果我将其替换为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;


你有没有找到解决方案? - Jeelan
1个回答

0

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

请在OnCreateView中设置listAdapter。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接