在我的应用程序中有两个片段(MenuFragment,BasketFragment),它们位于导航模式的操作栏选项卡中。
在MenuFragment中,我在listview中的ArrayList中保存Product类(Parcelable)的对象。我想要做的是在点击项目时在运行时将产品运送到BasketFragment。
到目前为止,我已尝试使用回调接口和捆绑方法,并且我一直面临NullPointerException。
请帮助我。如果你给出代码示例,将非常感激。
答案 0 :(得分:0)
使用回调接口是执行此操作的正确方法。如果没有看到NullPointerException的堆栈跟踪,我就会认为这是因为没有正确设置回调。我想如果你在onAttach()
中这样做,它应该可以正常工作:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try{
mCallback = (BasketCallback)activity;
}catch(ClassCastException ex){
throw new ClassCastException(activity.getLocalClassName() + " must implement BasketCallback");
}
}
然后,您可以从片段中调用回调方法,并让活动使用getSupportFragmentManager().findFragmentById(R.id.basket_fragment);