2015-03-18 2 views
1

Я реализую ViewPager для показа изображений. (Проведите по экрану, чтобы показать следующее и предыдущее). Для этого я создал ViewPager и переопределил необходимые методы, как показано ниже. Я динамически создаю изображения и добавляю их в LL. Но при запуске он просто показывает пустоту. Что здесь проблема?Показать пейджер показывая ничего (пусто)

Java файл:

public class ProductView extends Activity { 
// other stuff 
// 
ViewPager viewPager = (ViewPager) findViewById(R.id.myviewpager); 
      Imageslides adaper_slideshow = new Imageslides(); 
      viewPager.setAdapter(adaper_slideshow); 

private class Imageslides extends PagerAdapter 
{ 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 

     return imgs_url.length; //imgs_url is an array containing all urls for images 
    } 

    @Override 
    public boolean isViewFromObject(View view, Object object) { 
     // TODO Auto-generated method stub 
     return view == object; 
    } 

    @Override 
    public Object instantiateItem(ViewGroup container, int position) { 
     // TODO Auto-generated method stub 

     Context context = ProductView.this; 
     ImageView imageView = new ImageView(context); 
     imageView.setImageResource(R.drawable.no_media); 
     LayoutParams imageParams = new LayoutParams(
        LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT); 
     imageView.setLayoutParams(imageParams); 
     LinearLayout layout = new LinearLayout(ProductView.this); 
     layout.setOrientation(LinearLayout.VERTICAL); 
      LayoutParams layoutParams = new LayoutParams(
      LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT); 
      layout.setLayoutParams(layoutParams); 
      layout.addView(imageView); 
      container.addView(layout); 
      return layout; 
    } 
    @Override 
    public void destroyItem(ViewGroup container, int position, Object object) { 
     // TODO Auto-generated method stub 
     container.removeView((LinearLayout)object); 
    } 
} 

XML файл:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:orientation="vertical" 
tools:context="com.example.androidviewpagerapp.MainActivity" > 


<android.support.v4.view.ViewPager 
    android:id="@+id/myviewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

</LinearLayout> 

Любые советы будут полезны.

+0

На самом деле я взял этот код из демо и сделал необходимые изменения, я не очень много знаю об этом. Можете ли вы объяснить немного больше? – Apsaliya

+0

Каков размер массива 'imgs_url' в начале? Нуль? – JafarKhQ

+0

Размер imgs_url будет 5 – Apsaliya

ответ

0

Попробуйте изменить:

Context context = container.getContext() 

LinearLayout layout = new LinearLayout(context); 

И, пожалуйста, добавьте код для вашего массива изображения.

0

попробовать GetItem (целое положение)

public Object getItem(int position) { 
    return list.get(position); 
} 
+0

Это для Фрагмента, и он не использует их. – yshahak

+0

oh k thanks @yshahak – user3237043

Смежные вопросы