J'ai une vue d'ensemble qui contient une vue de liste. Lorsqu'un élément est sélectionné, une intention est créée pour passer à DetailActivity et je lui passe un int.Android: Les données transmises avec intention disparaissent en revenant d'une hiérarchie plus profonde
Cet entier est affecté à une variable privée et est utilisé pour interroger la base de données.
Code DetailActivity:
private int mIssueId;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_issue_detail);
mIssueId = getIntent().getIntExtra(IssueOverviewFragment.INTENT_ISSUE_ID, -1);
...
}
Dans le DetailActivity je peux aller à un GraphActivity. Mais quand j'appuie sur le bouton upButton dans le GraphActivity, l'application se bloque car la variable devient -1 dans le DetailActivity (et la base de données ne peut donc pas être interrogée correctement).
La hiérarchie est: OverviewActivity -> DetailActivity -> GraphActivity
Code GraphActivity:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_graph);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
...
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_detail, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_logout: {
Utility.redirectToLogin(this);
break;
}
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
Comment puis-je conserver les valeurs de mon attribut mIssueId dans le DetailActivity?
Postez votre code d'activité. Est-ce que vous surchargez la fonctionnalité du bouton "up"? –
Peut-être que vous modifiez l'intention quelque part, publiez votre code d'activités complet s'il vous plaît. –