Android Back按钮关闭应用程序,而不是转到上一个活动

时间:2013-07-30 20:04:28

标签: java android button back

我打开我的第一个活动,它只是第二个活动的加载器,在第二个活动上有按钮,其中一个打开第三个活动。如果我从第三个活动回击而不是转到第二个活动,则只需关闭应用程序。无论如何要解决这个问题?

以下是一些代码段:

    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();
}

1 个答案:

答案 0 :(得分:7)

您在finish()中呼叫onStop()。我怀疑这是原因。 finish()表示您已完成该活动,并随后会触发调用onDestroy()并将其从您的后台堆栈中删除。删除这些调用应该会导致后退导航表现出您的预期。只有在您不打算返回活动时才能完成活动。