您好我有一个RecycleView
Adapter
和一个按钮。我希望该按钮启动片段。我可以开始一个活动而不是片段。我为Onclick
Button
方法
@Override
public void onClick(View v) {
Bundle bundle = new Bundle();
bundle.putParcelable("event", events.get(getLayoutPosition()));
Fragment fragment = new EditEventDetailFragment();
fragment.setArguments(bundle);
fragment.getFragmentManager().beginTransaction().replace(R.id.contentMainDrawer,fragment).commit();
}
但是有错误调用null对象(contentMainDrawer
)是我的主要活动content_layout。
任何帮助都非常感谢。 Fragment主机回收视图是来自Mainactivity的调用
答案 0 :(得分:0)
使用以下代码替换片段
Fragment fragment = new EditEventDetailFragment();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.contentMainDrawer, fragment, "tag").commit();
如果您在适配器内使用此代码,请将getActivity()
替换为((Activity) context).
答案 1 :(得分:0)
您好我找到了2个答案,可以帮助任何需要的人。答案是使用托管调用片段的Activity。非常感谢@Mohit Suthar
Bundle bundle = new Bundle();
bundle.putParcelable("event", events.get(getLayoutPosition()));
Fragment fragment = new EditEventDetailFragment();
fragment.setArguments(bundle);
FragmentManager fragmentManager = ((MainActivity) context).getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.contentMainDrawer, fragment, "tag").commit();