2016-11-22 2 views
0

Итак, вот проблема: я выполняю A → B и из BI do B → C, теперь, когда кнопка возврата нажата в CI, нужно вернуться к A., так что запустите поток A → B → C, но я хочу очистить B, когда я запустил C, поэтому, когда назад нажата клавиша CI, вернитесь к A. Я знаю, что могу начать A с C и CLEAR_TOP, но я ищу другую альтернативу, если там это один.onBackPressed() должен вызывать предыдущую активность onBackPressed()

Спасибо

+5

Как насчет вызова 'finish()' в 'Activity' B при переходе на' Activity' C? Разумеется, вызовите 'finish()' после 'startActivity'. –

+0

Внутри B вызывать 'finish()' после запуска C. –

+0

Для подтверждения, что мне нужно задать этот вопрос, A и B являются фрагментами в одной и той же активности? – Nithinlal

ответ

2

можно назвать отделкой(); после того, как вы начнете наступление на B.

2

вызов finish(); после прохождения Intent на операцию вы не хотите, чтобы открыть на задней прессе.

3

Вам просто нужно позвонить finish()

Intent intent = new Intent(this, NextActivity.class); 
startActivity(intent); 
finish(); 
1
Intent intent = new Intent(this, C.class); 
startActivity(intent); 
finish(); 

Если вы звоните закончить() после запуска C деятельности в B деятельности. Вы можете удалить B Activity из стека. Поэтому, если вы вернетесь на C, вы увидите A Activity.

2
//FROM A TO B 
    Intent A = new Intent(A.this,B.class); 
    startActivity(A); 

    //FROM B TO C 
    Intent B = new Intent(B.this,C.class); 
    startActivity(B); 
    finish(); 

    //FROM C TO A 
    onBackPressed(); you can go directly to A. 

надеюсь, что это поможет.