Salut, j'ai fait une impléméntation me permettant de recevoir des informations d'une autre activité fille avec startActivityForResult et ca marche sur l'émulateur. Mais dès que je teste l'application sur mobile android, l'application s'arrête lorsque je clique sur le bouton me permettant de finish() l'activity fille et de revenir à l'activity mère.
HouseActivity
RegisterActivity
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 FloatingActionButton fab = (FloatingActionButton) rootView.findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //Adding a person Intent intent = new Intent(getActivity(), RegisterActivity.class); startActivityForResult(intent, CODE_AJOUT); } }); public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CODE_AJOUT) { if (resultCode == getActivity().RESULT_OK) { Long pId = Long.valueOf(data.getStringExtra("personId")); Person person = dbHelper.getPerson(pId); adapter.getData().add(person); adapter.notifyDataSetChanged(); Toast.makeText(getActivity(), "Registration Successfull", Toast.LENGTH_LONG).show(); } else if (resultCode == getActivity().RESULT_CANCELED) { } } }
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 OKBtn = (Button) findViewById(R.id.btn_signup); OKBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int CODE_AJOUT = 10; getDatas(); dbHelper = new DBHelper(getBaseContext()); dbHelper.insertPerson(person); //onStop(); //Toast.makeText(RegisterActivity.this, "Registration successfull", Toast.LENGTH_LONG).show(); Intent intent = new Intent(); intent.putExtra("personId", person.getId()); setResult(RESULT_OK, intent); finish(); //startActivity(new Intent(RegisterActivity.this, MainActivity.class)); } });
Partager