【问题标题】:Grab Tweet string value using Fabric for android使用 Fabric for android 获取 Tweet 字符串值
【发布时间】:2016-02-17 01:01:48
【问题描述】:

我正在开发一个 android 应用程序,我是 Fabric API 的新手。

我正在尝试获取推文的字符串值。我可以使用所有推文(代码取自文档示例)填充ListActivity,但无法弄清楚如何访问该列表以获取字符串值甚至推文ID。

当我这样做时:

Log.d("", adapter.getItem(1).toString());

Log.d("", adapter.getItem(1));

它告诉我“索引 1 无效,大小为 0”

import android.app.ListActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;

import com.twitter.sdk.android.tweetui.TweetTimelineListAdapter;
import com.twitter.sdk.android.tweetui.UserTimeline;

public class TwitterFeed extends ListActivity {
    Intent intent = new Intent();
    TweetTimelineListAdapter test;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
        String username = pref.getString("username", "NULL");
        super.onCreate(savedInstanceState);

        final UserTimeline userTimeline = new UserTimeline.Builder()
        .screenName(username).includeReplies(true).includeRetweets(true)
                .build();
        final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(this)
                .setTimeline(userTimeline)
                .build();
        setListAdapter(adapter);
        test = adapter;
    }
    @Override
    protected void onResume(){
        super.onResume();
        Log.d("ListItem", test.getItem(1).toString());
    }
}

任何帮助将不胜感激。提前谢谢!

【问题讨论】:

  • 调用这个方法时你是如何验证自己的?

标签: android twitter twitter-fabric


【解决方案1】:

所以经过大量研究,我能够获取所需的信息。你需要从另一个类中调用它。它返回 0 的原因是列表尚未完成加载。我在自定义适配器的 onClick 侦听器中有这个块。

    TwitterApiClient twitterApiClient = TwitterCore.getInstance().getApiClient();
// Can also use Twitter directly: Twitter.getApiClient()
                StatusesService statusesService = twitterApiClient.getStatusesService();
                statusesService.show(tweetID, null, null, null, new Callback<com.twitter.sdk.android.core.models.Tweet>() {
                    @Override
                    public void success(Result<Tweet> result) {
                        //Do something with result, which provides a Tweet inside of result.data
                        Log.d("Tweet Data", result.data.text);
                    }
                    public void failure(TwitterException exception) {
                      //Do something on failure
                    }
                });

希望有人能从中受益。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2013-01-11
    • 2020-02-05
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多