Problème avec startActivityForResult sur Téléphone android
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
Code:
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) {
}
}
} |
RegisterActivity
Code:
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));
}
}); |
Merci