我正在开发一个显示youTubeThumbnailView的网格视图的应用程序,我想在用户到达列表末尾时加载更多的youTubeThumbnailView。假设我有两个视频列表,我想在开始时加载第一个列表,如果用户在列表的底部,则加载第二个列表。
我的自定义适配器,用于显示网格视图
public class CustomGrid extends BaseAdapter{
private Context mContext;
private final String[] video_id;
YouTubeThumbnailView youTubeThumbnailView;
public CustomGrid(Context c, String[] video_id) {
mContext = c;
this.video_id=video_id;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return video_id.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View grid;
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
grid = new View(mContext);
grid = inflater.inflate(R.layout.grid_single, null);
youTubeThumbnailView= (YouTubeThumbnailView) grid.findViewById(R.id.youtube_view);
youTubeThumbnailView.initialize(DeveloperKey.DEVELOPER_KEY,new ThumbnailListener(mContext,video_id[position]));
} else {
grid = (View) convertView;
}
return grid;
}
主活动类
CustomGrid adapter = new CustomGrid(MainActivity.this,youtube_id);
grid=(GridView)findViewById(R.id.grid);
grid.setAdapter(adapter);
现在我可以使用Abslistview.onscrolllistener检测用户是否在底部滚动。我如何将更多youTubeThumbnailView添加到适配器并调用adapter.notifydatasetchanged()???
请帮助
为适配器创建一个公共方法,并使用新的List调用它。
public void updateData(List<T> dataItems) {
this.mDataItems = dataItems;
notifyDataSetChanged();
}
编辑。对于您的情况:
public void updateData(String[] video) {
this.video_id= video;
notifyDataSetChanged();
}
然后在片段或活动中。
adapter.updateData(您的NewStringArray);