Member 13816435 Ответов: 1

Доступ к arraylist из класса recycleradapter


Я хочу получить доступ к ArrayList из класса recycleradapter к фрагменту.
@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. Я добавил значения в ArrayList внутри метода onBindViewHolder в классе recycleradapter.

Что я уже пробовал:

Я попытался с помощью for loop получить доступ к arraylist во фрагменте,но, к сожалению, arraylist там недоступен.

David Crow

-...но, к сожалению, arraylist там недоступен."

А почему бы и нет? Где finalDataset объявили?

1 Ответов

Рейтинг:
1

JesalMithani

Если вы определили Arraylist в классе fragment, то попробуйте сделать его общедоступным и использовать его из класса adapter.

Это может решить вашу проблему. Вы также можете передать arraylist в конструктор класса adapter.

Здесь вы будете отправлять arraylist в параметре от фрагмента к адаптеру.