Как передать объект из адаптера в ViewPager - PullRequest
0 голосов
/ 20 июня 2020
• 1000 слушатель?

Адаптер:

public class SliderPageAdapter extends PagerAdapter {
     Context context;
    private List<Slide> slideList;
    FloatingActionButton floatingActionButton;

    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        LayoutInflater inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View slideLayout=inflater.inflate(R.layout.slide_item,null);
        ImageView slideImage=slideLayout.findViewById(R.id.slide_img);
        TextView slideTitle=slideLayout.findViewById(R.id.slide_title);
        floatingActionButton=slideLayout.findViewById(R.id.floatingActionButton);
        slideImage.setImageResource(slideList.get(position).getImage());
        slideTitle.setText(slideList.get(position).getTitle());
        container.addView(slideLayout);
        return slideLayout;

    }

}

1 Ответ

0 голосов
/ 21 июня 2020

Из своей активности вы можете добавить эту строку после строки setAdapter.

viewPager.post(() -> {
            if (viewPager.getCurrentItem() == pos) {
                adapter.floatingActionButton.setOnClickListener(v -> doSomething();
            }
        });

doSomething () - это метод, который вы хотите вызывать при щелчке на floatActionButton. pos - это позиция макета в ViewPager. Если у вас только один макет pos = 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...