我打开我的第一个活动,它只是第二个活动的加载器,在第二个活动上有按钮,其中一个打开第三个活动。如果我从第三个活动回击而不是转到第二个活动,则只需关闭应用程序。无论如何要解决这个问题?
以下是一些代码段:
public void onSegmentStatusButtonClick(View view) {
Log.d(TAG, "Segment status button clicked.");
Intent intent = new Intent(this, SegmentStatusActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_segment_status);
TextView txtView = (TextView) this
.findViewById(R.id.segment_status_msg);
txtView.setText(new String(getIntent().getByteArrayExtra("data")));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.segment_status, menu);
return true;
}
@Override
public void onStop() {
super.onStop();
Log.d(TAG, "Executing onStop().");
finish();
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onStart() {
super.onStart();
}
答案 0 :(得分:7)
您在finish()
中呼叫onStop()
。我怀疑这是原因。 finish()
表示您已完成该活动,并随后会触发调用onDestroy()
并将其从您的后台堆栈中删除。删除这些调用应该会导致后退导航表现出您的预期。只有在您不打算返回活动时才能完成活动。