为了账号安全,请及时绑定邮箱和手机立即绑定

将 Onclick() 添加到 ArrayList 中的项目

将 Onclick() 添加到 ArrayList 中的项目

繁星淼淼 2022-06-15 10:31:08
我已经创建了一个由多个项目(图像和文本)组成的水平滚动,但是如何为每个项目添加一个点击事件。我已经按照本教程获得了现在的位置: https ://www.youtube.com/watch?v=sTJm1Ys9jMIMainActivity.java: CarouselPicker carouselPicker1, carouselPicker2, carouselPicker3;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        carouselPicker1 = (CarouselPicker) findViewById(R.id.carouselPicker1);        carouselPicker2 = (CarouselPicker) findViewById(R.id.carouselPicker2);        carouselPicker3 = (CarouselPicker) findViewById(R.id.carouselPicker3);//Carousel 1 with all images        List<CarouselPicker.PickerItem> itemsImages = new ArrayList<>();        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher_round));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        itemsImages.add(new CarouselPicker.DrawableItem(R.mipmap.ic_launcher));        CarouselPicker.CarouselViewAdapter imageAdapter = new CarouselPicker.CarouselViewAdapter(this, itemsImages, 0);</LinearLayout>如何为 MainActivy.java 中显示的每个图像添加按钮功能?
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

您应该按照此处的说明进行操作:


https://github.com/GoodieBag/CarouselPicker


为每个 Carousel 选择器设置监听器,然后为每个位置使用 switch-case 的特定逻辑:


carouselPicker.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override

            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {


            }


            @Override

            public void onPageSelected(int position) {

                //position of the selected item

                switch (position) {

                        case 0:

                            //do smth

                            Toast.makeText(MainActivity.this, "first item selected", Toast.LENGTH_SHORT).show();

                        break;


                        case 1:

                            // do smth else

                            Toast.makeText(MainActivity.this, "second item selected", Toast.LENGTH_SHORT).show();

                        break;

                        //case 3, etc... 



                    }


            }


            @Override

            public void onPageScrollStateChanged(int state) {


            }

        });


查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信