从recycleradapter类访问arraylist [英] Access arraylist from a recycleradapter class

查看:95
本文介绍了从recycleradapter类访问arraylist的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从recycleradapter类访问一个ArrayList到一个片段。

I want to access an ArrayList from a recycleradapter class to a fragment.

@Override
public void onBindViewHolder(final DataObjectHolder holder, final int position)
{
    holder.setIsRecyclable(false);
    holder.itemid.setText(mDataset.get(position).getItem_id());
    holder.itemname.setText(mDataset.get(position).getItem_name());
    holder.qty.setText(mDataset.get(position).getQty());
    int  rt=Integer.parseInt(mDataset.get(position).getRate().substring(0,mDataset.get(position).getRate().length() - 3));
    holder.rate.setText(formatter.format(rt)+".00");
    ItemDetails listItem = filterList.get(position);
    holder.itemname.setText(listItem.getItem_name());
    holder.plus.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v)
        {
            holder.qty.setText(String.valueOf(++qt));
            mDataset.get(position).setQty(String.valueOf(qt));
            finalDataset.add(new ItemDetails(ItemFragment.getInstance().cat_id,String.valueOf(holder.itemid.getText()),String.valueOf(holder.itemname.getText()),String.valueOf(holder.rate.getText()),String.valueOf(holder.qty.getText())));
        }
    });
    holder.minus.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            if(qt==0)
            {
                holder.qty.setText(String.valueOf(0));
            }
            else
            {
                holder.qty.setText(String.valueOf(--qt));
            }
            mDataset.get(position).setQty(String.valueOf(qt));
            finalDataset.add(new ItemDetails(ItemFragment.getInstance().cat_id,String.valueOf(holder.itemid.getText()),String.valueOf(holder.itemname.getText()),String.valueOf(holder.rate.getText()),String.valueOf(holder.qty.getText())));
        }
    });
}



finalDataset是上面提到的ArrayList。我在recycleradapter类的onBindViewHolder方法中将值添加到了ArrayList中。



我尝试了什么:



我尝试使用for循环访问片段中的arraylist,但不幸的是,无法访问arraylist。


finalDataset is the mentioned ArrayList. I added the values to the ArrayList inside the onBindViewHolder method in recycleradapter class.

What I have tried:

I have tried with for loop to access the arraylist in the fragment,but unfortunately the arraylist is not accessible there.

推荐答案

如果你已经在片段类中定义了Arraylist,然后尝试将其公开并在适配器类中使用它。



它可以解决你的问题。你也可以在适配器类的构造函数中传递arraylist。



这里你将把参数中的arraylist从片段发送到适配器。
If you have defined Arraylist in fragment class, then try by making it public and use it from the adapter class.

It may solve your problem. You can also pass arraylist in the constructor of adapter class.

Here you will send arraylist in parameter from fragment to adapter.


这篇关于从recycleradapter类访问arraylist的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆