【问题标题】:To update item in adapter inside view pager在视图寻呼机内更新适配器中的项目
【发布时间】:2019-10-01 05:05:11
【问题描述】:

我正在努力寻找解决方案。 我有一个 gridView 里面的视图页面一页。我需要将图像从图库上传到其中并加载到服务器。 我不知道在 gridview 项目上上传

这是清晰的图片。 Viewpager -> 两个标签页 -> 一个带有图像网格视图的标签页布局。 带有其他输入字段的第二个选项卡布局。

现在在新适配器中打开布局 1 并设置图像。现在如何在该图像视图中设置新的画廊图像。因为这是在第二层。 包含图像网格视图的 Fragment->viewpagerAdapter->gridView 适配器。 以下是 PagerAdapter 内的代码

 @Override
public Object instantiateItem(ViewGroup container, int position) {
   // return super.instantiateItem(container, position);
    // Using different layouts in the view pager instead of images.
    LayoutInflater inflater = (LayoutInflater) container.getContext()
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    int resId = -1;

    View view = null;

 switch (position) {
        case 0:
            resId = R.layout.activity_image_banner;
            view = inflater.inflate(resId, container, false);
             recyclerView = view.findViewById(R.id.banneregridView);

            GridLayoutManager trend_manager = new GridLayoutManager(context, 2, RecyclerView.VERTICAL, false);
            recyclerView.setLayoutManager(trend_manager);
            recyclerView.setItemAnimator(new DefaultItemAnimator());

            BannerDetailsAdapter bannerDetailsAdapter  = new    BannerDetailsAdapter(activity,context, vBannerPic);
            recyclerView.setAdapter(bannerDetailsAdapter);


            break;

        case 1:

        resId = R.layout.improvelisting_details_layout;
        view = inflater.inflate(resId, container, false); 

这是 recycleView 适配器

@Override
public void onBindViewHolder(@NonNull  BannerDetailsAdapter.Business business, final int position) {

    IL_BusinessProfileBanner businessPojo  = businessDataPojoList.get(position);
    Log.e("Position is-", "--" + businessPojo.getVBannerPic());

  //  business.image.setBackgroundResource(R.drawable.logo);


    Glide.with(context.getApplicationContext()).
            load(businessPojo.getVBannerPic())
            .into(business.image);

    business.image.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ImproveListingFragment.loadImagefromGallery(position);
        }
    });

【问题讨论】:

  • 请在此处发布相关代码
  • @Makarand 解释清楚了吗
  • 发布代码和相关截图以澄清问题。
  • 到目前为止你所做的事情的邮政编码
  • @nik 和 ravi 请检查更新的问题

标签: android android-viewpager android-gridview


【解决方案1】:

按照以下步骤操作:

  1. 从图库中获取图片[你做得对]

    business.image.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        ImproveListingFragment.loadImagefromGallery(position);
    }
    });
    
  2. 创建vBannerPic的全局变量

  3. 将从图库中获取的图像分配给该变量

  4. 然后拨打recyclerViewAdapter.notifyDataSetChanged();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多