猿问

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

的 on 将错误的项目位置发送到以意图调用的活动。当我单击图像1时,它会发送图像2的信息,当我单击图像2时,它会发送图像3的信息,依此类推。接收方活动接收到的单击发送方活动的错误图像和标题。我正在使用 带 的 来检测点击。instantiateItemPagerAdapterviewpagerfloatingActionButtononclickListener


@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());

    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;

}


慕哥6287543
浏览 124回答 2
2回答

守候你守候我

重写此方法以获取片段的当前位置。使用此位置获取有关当前单击的信息。@Overridepublic void setPrimaryItem(ViewGroup container, int position, Object object) {    Log.i(TAG, "setPrimaryItem: " + position);    super.setPrimaryItem(container, position, object);}

繁花不似锦

最终代码是这样得到的@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());    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;}@Overridepublic int getCount() {    return mList.size();}@Overridepublic boolean isViewFromObject(@NonNull View view, @NonNull Object object) {    return view == object;}@Overridepublic void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {    container.removeView((View)object);}@Overridepublic 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();}
随时随地看视频慕课网APP

相关分类

Java
我要回答