Twitter UserTimeline 有效,但 SearchTimeline 似乎从未调用过服务器

Posted

技术标签:

【中文标题】Twitter UserTimeline 有效,但 SearchTimeline 似乎从未调用过服务器【英文标题】:Twitter UserTimeline works but SearchTimeline never seem to even call the server 【发布时间】:2016-01-25 21:37:59 【问题描述】:

我正在使用documents 中的确切示例代码,但我根本没有收到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);
    

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

更多

添加回调块既不会导致失败也不会导致成功消息。就好像代码完全没有执行:没有服务器调用。但是,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;

【问题讨论】:

你有解决办法吗? 【参考方案1】:

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

在 OnCreateView 中设置 listAdapter。

【讨论】:

以上是关于Twitter UserTimeline 有效,但 SearchTimeline 似乎从未调用过服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何在有效的 Twitter Bootstrap 中垂直居中内容?

如何在本地测试 twitter API?

facebook open-graph 和 twitter 卡的有效 xhtml 元标记

Twitter oauth配置丢失(Parse TwitterUtils)

在 MEAN 堆栈中实现 facebook / twitter 样式提要的最有效方法是啥?我应该考虑socket.io吗? [关闭]

Twitter API - 为拥有数百万关注者的帐户获取关注者列表的有效方法