문자열을 변경하기 위해 ViewPager가/PagerAdapter를 사용하여 재생 목록. 재생 목록의 값이 PagerAdapter에 의해 설정된 후 즉시, PLAYLIST의 새 값을 사용하여 재생 목록을 만들내가 YouTube의 응답을 얻는 JSON 요청이
String PLAYLIST = "vevo";
String PLAYLIST = "TheMozARTGROUP";
String PLAYLIST = "TimMcGrawVEVO";
String PLAYLIST = "TiestoVEVO";
String PLAYLIST = "EminemVEVO";
: 내 주요 관심사는 다음과 같은 설정 아래의 PagerAdapter을 사용하는 방법을 알아 내기 위해 노력하고있다 :
new GetYouTubeUserVideosTask(responseHandler, PLAYLIST).execute();
사용하려는 값이 포함 된 새로운 문자열 배열을 만들었습니다. 내 질문에 이제는 이해가된다 : 배열 값 중 하나를 사용하여 PLAYLIST의 값을 설정하고 새 재생 목록을 실행하려면 아래 소스를 어떻게 수정할 수 있습니까?
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
}
});
}
}
}
스크린 샷 :
new GetYouTubeUserVideosTask(responseHandler, PLAYLIST).execute();
현재 비 기능 호출기 어댑터 - (아무 반응이 없습니다 현재 내 소스를 컴파일하지만 난 PagerAdapter 슬쩍 경우)
추가 정보 :
http://developer.android.com/training/animation/screen-slide.html
http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html
고마워요! 나는 그것을 연구하고 그것을 실행에 총을했다 ...하지만 약간의 문제가 있어요 - 마음을 들여다 볼까? http://stackoverflow.com/questions/20500893/android-java-updating-listarray-to-call-view-in-adapter – user3063132