Listingview를 포함하는 OverviewActivity가 있습니다. 항목을 선택하면 DetailActivity로 이동하기위한 의도가 만들어지고 int를 전달합니다.Android : 깊은 계층 구조에서 돌아 왔을 때 의도와 함께 전달 된 데이터가 사라집니다.
이 int는 개인 변수에 할당되며 데이터베이스를 쿼리하는 데 사용됩니다.
DetailActivity 코드 : 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);
...
}
은 내가 GraphActivity에 갈 수 있습니다. 그러나 GraphActivity에서 upButton을 누르면 DetailActivity에서 변수가 -1이되어 데이터베이스가 제대로 쿼리 될 수 없기 때문에 응용 프로그램이 충돌합니다.
계층 구조는 다음과 같습니다 OverviewActivity -> DetailActivity -> GraphActivity
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);
}
가 어떻게이 DetailActivity 내 mIssueId 속성의 값을 유지합니까?
활동 코드를 게시하십시오. "위로"버튼 기능을 무시하고 있습니까? –
어쩌면 어딘가에 의도를 수정하고 전체 활동 코드를 올리십시오. –