PDA

View Full Version : مشکل در اجرای ViewPager



Sina.iRoid
شنبه 04 بهمن 1393, 00:00 صبح
سلام. من کد های زیر و نوشتم اما وقتی برنامه رو اجرا می کنم عکس ها نشون داده نمیشه.

کلاس CustomeViewPager


import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;


public class CustomeViewPager extends PagerAdapter {

LayoutInflater inflater;
Context context;

// Constructor
public CustomeViewPager(Context context) {
this.context = context;
}

int[] res = {
R.drawable.animation_00031,
R.drawable.animation_00032,
R.drawable.animation_00033,
R.drawable.animation_00034,
R.drawable.animation_00035,
R.drawable.animation_00036};

@Override
public int getCount() {

return res.length;
}


@Override
public boolean isViewFromObject(View view, Object ob) {

return view == (LinearLayout) ob;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {

inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_S ERVICE);

View itemView = inflater.inflate(R.layout.pager_item, container, false);

ImageView imgView = (ImageView) itemView.findViewById(R.id.ImgView);
imgView.setImageResource(res[position]);
container.addView(itemView);

return itemView;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {

container.removeView((LinearLayout) object);
}
}


و کلاس اصلی:


import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;


public class MainActivity extends Activity {

private ViewPager pager;
private PagerAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);

pager = (ViewPager) findViewById(R.id.ViewPager01);
pager.setAdapter(adapter);
}
}


و این هم لی اوت هام:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">


<TextView
android:id="@+id/TxtView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/pager"
android:textSize="25sp"/>

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

</LinearLayout>



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageView
android:id="@+id/ImgView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>


</LinearLayout>


برنامه اجرا میشه اما عکس عکس ها معلوم نیست. ممنون میشم اگر راهنماییم کنید :)

mouzarmi
پنج شنبه 14 اردیبهشت 1396, 14:02 عصر
با سلام، شما تصاویر رو تعریف کردین ولی به View برگشتی در آداپتور اضافه نکردین! بنابراین من فکر میکنم باید به سه خط زیر یک خط کد رو اضافه کنید :
ImageView imgView = (ImageView) itemView.findViewById(R.id.ImgView);
imgView.setImageResource(res[position]);
container.addView(itemView);

container.addView(imgView);