【发布时间】:2020-08-14 15:36:49
【问题描述】:
下午好,
我无法通过按返回按钮从碎片中恢复数据。
我的bandle没问题,结果正常显示,但是当它回到cpf屏幕时,值没有应用
我正在尝试分阶段创建一个注册表单,每个片段都是一个要编写的字段
//fragment Email
btnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bundle = new Bundle();
bundle.putSerializable("object", user);
Log.i("Bundle", bundle.toString());
Navigation.findNavController(v).navigate(R.id.cpfFragment, bundle);
}
});
我无法恢复数据的片段
public class CpfFragment extends Fragment {
private User user;
private Bundle bundle;
public CpfFragment() {
// Required empty public constructor
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState != null){
user = (User) bundle.getSerializable("object");
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_cpf, container, false);
}
@Override
public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Button btnNext = view.findViewById(R.id.btnNext);
Button btnBack = view.findViewById(R.id.btnBack);
final EditText fieldCpf = view.findViewById(R.id.editCpf);
btnProximo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String cpf = fieldCpf.getText().toString();
try {
if (cpf.isEmpty()){
Toast.makeText(getContext(), "Preencha o Cpf para avançar", Toast.LENGTH_SHORT).show();
}
else{
user = new Usuario();
user.setCpf(cpf);
Log.i("CPF", user.getCpf());
bundle = new Bundle();
bundle.putSerializable("object", user);
Navigation.findNavController(v).navigate(R.id.emailFragment, bundle);
}
}
catch (Exception e ){
Toast.makeText(getContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
Log.i("ERROR BAGME CPF", e.getMessage());
}
}
});
btnVoltar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Navigation.findNavController(v).navigate(R.id.initialFragment);
}
});
}
}
【问题讨论】:
标签: java android android-studio android-layout android-fragments