如何将 getIntent.getStringExtra("username") 放入 android 适配器 onBindViewHolder(@NonNull final Vi

Posted

技术标签:

【中文标题】如何将 getIntent.getStringExtra("username") 放入 android 适配器 onBindViewHolder(@NonNull final ViewHolder holder, final int position)【英文标题】:How to put getIntent.getStringExtra("username") in android adapter onBindViewHolder(@NonNull final ViewHolder holder, final int position) 【发布时间】:2021-01-17 13:54:29 【问题描述】:

我想在这个适配器类中调用getIntent().getStringExtra()。我在上一堂课中通过了用户名。但在这里我不能在这个适配器类中调用 get intent。

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) 
    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.layout_gig_item, parent, false);

    return new ViewHolder(itemView);


@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) 

    final GigHolder gigHolder = gigList.get(position);

    holder.lbl_title.setText(gigHolder.getTitle());
    holder.lbl_price.setText(Utils.getDecimal(gigHolder.getTotal()));
    holder.lbl_contact.setText(gigHolder.getContact());
    holder.img_cover.setImageURI(gigHolder.getImage());
    holder.ll_main.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View view) 

            if(!isAdminView)
                Intent intent = new Intent(activity, GigViewActivity.class);
                intent.putExtra(Constants.BUNDLE_ID, gigHolder.getPrimaryKey());
                activity.startActivity(intent);
            
        
    );



【问题讨论】:

【参考方案1】:

最好只从支持适配器类的activity或fragment中获取数据,通过函数传递给适配器类

【讨论】:

【参考方案2】:

你有两种方法可以解决这个问题:

第一种方法是将调用ClassContext 作为AdapterConstructor 参数传递。然后您可以通过调用context.getIntent().getStringExtra() 访问StringExtra

第二种方法是从您的调用Class 中获取StringExtra,然后将其作为AdapterContructor 参数传递。

【讨论】:

以上是关于如何将 getIntent.getStringExtra("username") 放入 android 适配器 onBindViewHolder(@NonNull final Vi的主要内容,如果未能解决你的问题,请参考以下文章

如何将Ios文件上传到

Qt如何将文字变成图片?

如何将Bitmap保存为本地图片文件?

在MATLAB中如何将图导出

ASP如何将SQLSERVER数据导出到DBF(VF)

如何将CSV格式转换成JSON格式