0

문자열을 변경하기 위해 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 

       } 

      }); 

     } 
    } 
} 

스크린 샷 :

enter image description here

new GetYouTubeUserVideosTask(responseHandler, PLAYLIST).execute(); 

현재 비 기능 호출기 어댑터 - (아무 반응이 없습니다 현재 내 소스를 컴파일하지만 난 PagerAdapter 슬쩍 경우)

추가 정보 :

  1. http://developer.android.com/training/animation/screen-slide.html

  2. http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html

답변

0

호출에 'updateBananas'listArray 전에 업데이트의 예를 따르도록 코드를 변경 한 후 this answer 연구를 시도하고 'notifyDataSetChanged () '. 알림 호출은 사용중인 어댑터의보기를 업데이트하는 신호입니다.

코드에서 getYouTube ...는 어댑터가 참조를 가지고있는 객체를 업데이트하고 배열해야합니다.

코드의 샘플과 동일한 연결을 구현하여 가져올 수 있어야합니다.

+0

고마워요! 나는 그것을 연구하고 그것을 실행에 총을했다 ...하지만 약간의 문제가 있어요 - 마음을 들여다 볼까? http://stackoverflow.com/questions/20500893/android-java-updating-listarray-to-call-view-in-adapter – user3063132

관련 문제