2013-07-30 4 views
-2

Открываю первое действие, которое является всего лишь загрузчиком для 2-го действия, а во 2-й деятельности есть кнопки, один из которых открывает 3-ю операцию. Если я вернусь из третьего действия, а не перейду во вторую активность, это просто закрывает приложение. В любом случае, чтобы исправить это?Кнопка «Назад Android» закрывает приложение вместо перехода к предыдущему действию.

Вот некоторые фрагменты кода:

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

Почему вы вызываете finish() в onStop()? – dymmeh

+0

http://developer.android.com/reference/android/app/Activity.html#onBackPressed%28%29 –

ответ

6

Вы звоните finish() в вашем onStop(). Я подозреваю, что это причина. finish() укажет, что вы закончили работу и затем вызовете вызов onDestroy() и удалите его из своего заднего стека. Удаление этих вызовов должно привести к тому, что обратная навигация будет вести себя так, как вы ожидаете. Действия должны быть завершены только в том случае, если вы не планируете возвращаться к ним.

+0

Спасибо, я довольно новичок в разработке Android и не знаю, когда правильно называть этот метод. Благодарю. –

+1

Без проблем! http://developer.android.com - отличный сайт для справки, он имеет официальную документацию api и множество полезных статей и руководств, которые помогут вам. Это было бесценно, когда я учился. Просто держись, и ты узнаешь тонну! – MattDavis