Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从另一个片段向recyclerView添加项_Android_Android Fragments_Android Recyclerview - Fatal编程技术网

Android 从另一个片段向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.

我想知道如何使用由customAdapter管理的recyclerView将对象/捆绑从一个片段动态添加到另一个片段

基本上,我试图将一个对象从dialogFragment传递到另一个包含recyclerView的片段

单击“添加”按钮将显示我的对话框片段:

 @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添加会更容易些吗?