Fragment
に引数を渡そうとしています。Android - savedInstanceStateのバンドルがフラグメントonCreate()およびonCreateView()でnullです。
Fragment
のView
をクリックすると、Fragment
が別のものに置き換えられ、次に使用されるデータがFragment
に置き換えられます。
私のクリックアクション:
public void onClick(View view) {
Bundle args = new Bundle();
args.putSerializable("order", orders.get(position));
OrderDetailFragment orderDetailFragment = new OrderDetailFragment();
orderDetailFragment.setArguments(args);
FragmentManager fragmentManager = ((AppCompatActivity) context).getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.order_activity_content_frame, orderDetailFragment)
.addToBackStack("orderDetails")
.commit();
}
しかし、私の先Fragment
で、savedInstanceState
はnull
ように来ています。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
order = (Order) savedInstanceState.getSerializable("order");
View rootView = inflater.inflate(R.layout.fragment_order_details, container, false);
TextView date = (TextView) rootView.findViewById(R.id.order_detail_date);
date.setText((CharSequence) order.getCreatedOn());
return rootView;
}
私は正確に何が欠けているのか分かりませんか?