Как я могу установить номера страниц в viewpager? - PullRequest
0 голосов
/ 12 декабря 2018

Я создал viewPager, теперь я хочу знать, как я могу установить номера страниц в viewPager?И как я могу перейти к ViewPager номер 12, когда я нажимаю на 12 номер на странице индекса.Ниже есть изображение.

enter image description here

Вот мой код

public class SwipeAdapter extends PagerAdapter {
private Context cx;
int[] image=new int[3];
int a=1;
SwipeAdapter(Context cx){
    this.cx=cx;
    for(int i=0;i<3;i++) {
        a = i + 1;

        image[i]=cx.getResources().getIdentifier("image"+a,"drawable", cx.getPackageName());
}
}
@Override
public int getCount() {
    return image.length;
}

@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
    return (view==object);
}

@SuppressLint("SetTextI18n")
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {

    LayoutInflater layoutInflater = (LayoutInflater) cx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    assert layoutInflater != null;
    View view= layoutInflater.inflate(R.layout.fragment_page,container,false);
    ImageView imageView= view.findViewById(R.id.imageView);
    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
    imageView.setImageResource(image[position]);
    container.addView(view);
    return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
    container.removeView((RelativeLayout) object);
}

1 Ответ

0 голосов
/ 12 декабря 2018

Вы можете взять Textview в элементе пейджер.и установить текст с позиции.

public Object instantiateItem(@NonNull ViewGroup container, int position) {
    LayoutInflater layoutInflater = (LayoutInflater) cx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    assert layoutInflater != null;
    View view = layoutInflater.inflate(R.layout.fragment_page, container, false);
    ImageView imageView = view.findViewById(R.id.imageView);

    TextView text = view.findViewById(R.id.textView);
    text.setText(String.valueOf(position + 1);

    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
    imageView.setImageResource(image[position]);
    container.addView(view);
    return view;
}
...