Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取TweetTimelineListAdapter';s数据_Java_Android_Listview_Twitter_Twitter Fabric - Fatal编程技术网

Java 获取TweetTimelineListAdapter';s数据

Java 获取TweetTimelineListAdapter';s数据,java,android,listview,twitter,twitter-fabric,Java,Android,Listview,Twitter,Twitter Fabric,我是java新手,所以如果我把我的问题弄糊涂了,我很抱歉 我的问题是,我通过TweetTimelineListAdapter获得一个tweet列表,并在listview中显示数据,如下所示 final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(this) .setTimeline(userTimeline) .build(); se

我是java新手,所以如果我把我的问题弄糊涂了,我很抱歉

我的问题是,我通过
TweetTimelineListAdapter
获得一个tweet列表,并在
listview
中显示数据,如下所示

final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(this)
                .setTimeline(userTimeline)
                .build();
setListAdapter(adapter);
一切正常,但我想要的是在
适配器中获取(查看)数据。我只能在
列表视图中看到tweets

我需要将适配器的数据放入一个数组中,以便通过
MainActivity
进一步使用


有什么方法可以做到这一点,或者您可以给出什么建议,请分享。

通常,在Android中,每个适配器类都为您提供以下方法:

public int getCount();
public T getItem(int position);
因此,用户可以按如下方式从适配器类获取所有数据:

ArrayList<T> data= new ArrayList<T> ();
for(int i= 0; i < adapter.getCount(); i++) {
    data.add(adapter.getItem(i));
}
ArrayList<Tweet> tweets = new ArrayList<Tweet> ();
for(int i= 0; i<adapter.getCount();i++) {
    tweets.add(adapter.getItem(i));
}
此处
tweetTimeLinesAdapter
扩展
TimeLinesAdapter

timelineistadapter
扩展
BaseAdapter

BaseAdapter
类具有以下特性:

因此,您可以从TweetTimelineListAdapter获取所有数据,如下所示:

ArrayList<T> data= new ArrayList<T> ();
for(int i= 0; i < adapter.getCount(); i++) {
    data.add(adapter.getItem(i));
}
ArrayList<Tweet> tweets = new ArrayList<Tweet> ();
for(int i= 0; i<adapter.getCount();i++) {
    tweets.add(adapter.getItem(i));
}
arraylisttweets=newarraylist();

对于(int i=0;i你应该这样做:

List<Tweet> tweets = new ArrayList<>();  
int count = adapter.getCount();  
for (int i=0;i<count;i++) {  
    tweets.add(adpater.getItem(i););  
}  
List tweets=new ArrayList();
int count=adapter.getCount();

对于(int i=0;i
getItem(int position)
?当我在adaper上运行时,您能给出正确的代码吗?它显示错误。我的意思是我应该放置什么来代替int position。什么错误?只需调用
adapter.getItem()类TimelineListAdapter中的methodmethod getItem无法应用于给定类型;必需:找到int:无参数完整方法签名为
android.widget.Adapter#getItem(int位置)
,只需传递
位置
argumentgetting Adapter.getCount()“0”。但我在listview中有tweets。因此循环没有调用。@如果是这种情况,则需要在应用程序中扩展TweetTimelineListAdapter,并需要覆盖getCount()方法返回有效的计数。我该怎么做?@Atula您可以创建自己的类,如下所示:AtulaTweetTimelineListAdapter扩展了TweetTimelineListAdapter,然后您可以实现getCount()来返回时间线推文的计数。
List<Tweet> tweets = new ArrayList<>();  
int count = adapter.getCount();  
for (int i=0;i<count;i++) {  
    tweets.add(adpater.getItem(i););  
}