Java 使用ViewPager/PagerAdapter更改字符串
我有一个JSON请求,它从YouTube获得响应:Java 使用ViewPager/PagerAdapter更改字符串,java,android,string,android-viewpager,android-pageradapter,Java,Android,String,Android Viewpager,Android Pageradapter,我有一个JSON请求,它从YouTube获得响应: @Override protected Void doInBackground(Void... arg0) { try { HttpClient client = new DefaultHttpClient(); HttpUriRequest request = new HttpGet("https://gdata.youtube.com/feeds/api/videos?author
@Override
protected Void doInBackground(Void... arg0) {
try {
HttpClient client = new DefaultHttpClient();
HttpUriRequest request = new HttpGet("https://gdata.youtube.com/feeds/api/videos?author="+PLAYLIST+"&v=2&alt=jsonc");
我想使用可滑动的页脚图像来更改字符串播放列表的值。我主要关心的是如何使用如下所示的设置:
String PLAYLIST = "vevo";
String PLAYLIST = "TheMozARTGROUP";
String PLAYLIST = "TimMcGrawVEVO";
String PLAYLIST = "TiestoVEVO";
String PLAYLIST = "EminemVEVO";
然后,在设置播放列表的值后,立即使用播放列表的新值创建播放列表:
new GetYouTubeUserVideosTask(responseHandler, PLAYLIST).execute();
我已经创建了一个新的字符串数组,其中包含我想要使用的值。现在我的问题是:我如何修改下面的源代码,使用其中一个数组值设置播放列表的值,并执行新的播放列表?目前,我的源代码已编译,但当我滑动时,什么也没有发生
new GetYouTubeUserVideosTask(responseHandler, PLAYLIST).execute();
当前不起作用的寻呼机适配器:
截图:
其他信息:
尝试研究并更改代码,以遵循在调用“notifyDataSetChanged”之前更新“UpdateBanas”listArray的示例。调用notify是更新正在使用的适配器中的视图的信号
在您的代码中,getYouTube。。。需要更新适配器引用的数组对象
您应该能够通过在代码中实现来自示例的相同连接来获得它 谢谢!我研究了它并尝试实现它。。。但是我有点麻烦-介意看一眼吗?
private class ImagePagerAdapter extends PagerAdapter {
public ImagePagerAdapter(Activity act, int[] mImages,
String[] stringArra) {
imageArray = mImages;
activity = act;
stringArray = stringArra;
}
// this is your constructor
public ImagePagerAdapter() {
super();
// setOnPageChangeListener(mPageChangeListener);
}
private int[] mImages = new int[] { R.drawable.selstation_up_btn,
R.drawable.classical_up_btn, R.drawable.country_up_btn,
R.drawable.dance_up_btn, R.drawable.hiphop_up_btn };
private String[] stringArray = new String[] { "vevo",
"TheMozARTGROUP", "TimMcGrawVEVO", "TiestoVEVO",
"EminemVEVO" };
@Override
public int getCount() {
return mImages.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Context context = Home.this;
ImageView imageView = new ImageView(context);
imageView.setImageResource(mImages[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
private final ViewPager.SimpleOnPageChangeListener mPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(final int position) {
onTabChanged(mPager.getAdapter(), mCurrentTabPosition, position);
mCurrentTabPosition = position;
}
};
protected void onTabChanged(final PagerAdapter adapter,
final int oldPosition, final int newPosition) {
// Calc if swipe was left to right, or right to left
if (oldPosition > newPosition) {
// left to right
} else {
// right to left
View vg = findViewById(R.layout.home);
vg.invalidate();
}
final ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
int oldPos = viewPager.getCurrentItem();
@Override
public void onPageScrolled(int position, float arg1, int arg2) {
if (position > oldPos) {
// Moving to the right
} else if (position < oldPos) {
// Moving to the Left
View vg = findViewById(R.layout.home);
vg.invalidate();
}
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
}
});
}
}
}