Twitter UserTimeline работает, но SearchTimeline, кажется, даже не вызывает сервер

Я использую точный пример кода в документах, и все же я не получаю твиты вообще для 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.

Установите listAdapter в OnCreateView.

Другие вопросы по тегам