Android 从另一个片段向recyclerView添加项
我想知道如何使用由customAdapter管理的recyclerView将对象/捆绑从一个片段动态添加到另一个片段 基本上,我试图将一个对象从dialogFragment传递到另一个包含recyclerView的片段 单击“添加”按钮将显示我的对话框片段:Android 从另一个片段向recyclerView添加项,android,android-fragments,android-recyclerview,Android,Android Fragments,Android Recyclerview,我想知道如何使用由customAdapter管理的recyclerView将对象/捆绑从一个片段动态添加到另一个片段 基本上,我试图将一个对象从dialogFragment传递到另一个包含recyclerView的片段 单击“添加”按钮将显示我的对话框片段: @Override public void onClick(DialogInterface dialog, int which) { pof = new ProductForOrder(Integer.parseInt(input.
@Override
public void onClick(DialogInterface dialog, int which) {
pof = new ProductForOrder(Integer.parseInt(input.getText().toString()),email,Integer.parseInt(serialNum), pTitle, imgUrl);
cartFragment = new CartFragment();
cartFragment.setList(pof);
Toast.makeText(getActivity(), "Item added", Toast.LENGTH_SHORT).show();
}
在我的cartFragment中,我尝试处理接收到的对象,并将更改通知适配器
cartFragment:
public class CartFragment extends Fragment implements ListAdapter.OnItemClickListener {
private FloatingActionButton mSharedFab;
private List<ProductForOrder> forOrderArrayList = new ArrayList<>();
private RecyclerView recyclerView;
private ListAdapter mAdapter;
public CartFragment() {
// Required empty public constructor
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
View view = inflater.inflate(R.layout.fragment_cart, container, false);
recyclerView = (RecyclerView) view.findViewById(R.id.list_recycler);
mAdapter = new ListAdapter(this, forOrderArrayList, getActivity());
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(mAdapter);
//setList();
return view ;
}
public void setList(ProductForOrder pof)
{
forOrderArrayList.add(pof);
mAdapter.notifyDataSetChanged();
}
公共类CartFragment扩展片段实现ListAdapter.OnItemClickListener{
私有浮动操作按钮mSharedFab;
private List forOrderArrayList=新建ArrayList();
私人回收站;
私有列表适配器mAdapter;
公共服务{
//必需的空公共构造函数
}
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(R.layout.fragment\u推车,容器,错误);
recyclerView=(recyclerView)view.findViewById(R.id.list\u recycler);
mAdapter=newlistadapter(这个,forOrderArrayList,getActivity());
RecyclerView.LayoutManager mLayoutManager=新的LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(mLayoutManager);
setItemAnimator(新的DefaultItemAnimator());
recyclerView.setAdapter(mAdapter);
//setList();
返回视图;
}
公共无效设置列表(ProductForOrder pof)
{
forOrderArrayList.add(pof);
mAdapter.notifyDataSetChanged();
}
毫不奇怪,我得到了npe异常(尝试在空对象引用上调用接口方法“boolean java.util.List.add(java.lang.Object)”),尽管我确实从对话框中获得了我的目标,但我无法将其添加到cartFragment中的recyclerView中
任何建议都会很有用,谢谢!这可能会有帮助:嗯,我想实现框架的接口,也许如果我从回收者视图更改为列表视图,添加会更容易?这可能会有帮助:嗯,我想实现框架的接口,也许如果我从回收者视图更改为列表view添加会更容易些吗?