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

查看页面管理器错误的项目位置页面位置

查看页面管理器错误的项目位置页面位置

慕哥6287543 2022-09-22 19:42:59
的 on 将错误的项目位置发送到以意图调用的活动。当我单击图像1时,它会发送图像2的信息,当我单击图像2时,它会发送图像3的信息,依此类推。接收方活动接收到的单击发送方活动的错误图像和标题。我正在使用 带 的 来检测点击。instantiateItemPagerAdapterviewpagerfloatingActionButtononclickListener@NonNull@Overridepublic Object instantiateItem(@NonNull ViewGroup container, final int position) {    LayoutInflater inflater = (LayoutInflater)     mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);    View slideLayout = inflater.inflate(R.layout.slide_item, null);    final ImageView slideImg = slideLayout.findViewById(R.id.slide_img);    final TextView slideText = slideLayout.findViewById(R.id.slide_title);    final  FloatingActionButton fab = slideLayout.findViewById(R.id.floatingActionButton);    slideImg.setImageResource(mList.get(position).getImage());    slideText.setText(mList.get(position).getTitle());    slideTitle = slideText.getText().toString();    thumbnail = mList.get(position).getImage();    container.addView(slideLayout);    fab.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View view) {            Intent intent = new Intent(mContext,  MovieDetailActivity.class);            intent.putExtra("title", slideTitle);            intent.putExtra("imgURL", thumbnail);            mContext.startActivity(intent);            }    });    return slideLayout;}
查看完整描述

2 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

重写此方法以获取片段的当前位置。使用此位置获取有关当前单击的信息。


@Override

public void setPrimaryItem(ViewGroup container, int position, Object object) {


    Log.i(TAG, "setPrimaryItem: " + position);


    super.setPrimaryItem(container, position, object);

}


查看完整回答
反对 回复 2022-09-22
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

最终代码是这样得到的


@NonNull

@Override

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


    LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View slideLayout = inflater.inflate(R.layout.slide_item, null);


    final ImageView slideImg = slideLayout.findViewById(R.id.slide_img);

    final TextView slideText = slideLayout.findViewById(R.id.slide_title);

    final  FloatingActionButton fab = slideLayout.findViewById(R.id.floatingActionButton);


    slideImg.setImageResource(mList.get(position).getImage());

    slideText.setText(mList.get(position).getTitle());


    container.addView(slideLayout);


    fab.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {


            Intent intent = new Intent(mContext, MovieDetailActivity.class);

            intent.putExtra("title", slideTitle);

            intent.putExtra("imgURL", thumbnail);

            mContext.startActivity(intent);




        }

    });


    return slideLayout;


}


@Override

public int getCount() {

    return mList.size();

}


@Override

public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {

    return view == object;

}



@Override

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


    container.removeView((View)object);

}

@Override

public void setPrimaryItem(ViewGroup container, int position, Object object){


    Log.i(TAG, "setPrimaryItem_che: " + position);


    super.setPrimaryItem(container, position, object);


    slideTitle = mList.get(position).getTitle();

    thumbnail = mList.get(position).getImage();

}



查看完整回答
反对 回复 2022-09-22
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号