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.