2013-09-16 3 views
1

У меня есть деятельность под названием ACITIVTYA, ACITIVTYB, ACITIVTYC.финишная деятельность не завершает текущую деятельность

ACITIVTYB и ACITIVTYC расширяет ACTIVITYA

В ACITIVTYA, который является родителем acitivty, я хочу, чтобы перезагрузить ACTIVITYB. i использовал следующий код

finishActivity(1000); 
Intent intent = new Intent(ACITIVTYB.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivityForResult(intent,1000); 

Но отделкаАктивность (1000); не работает, когда тот же ACTIVITYB находится на экране.

Работает от различной активности, т. Е. Когда ACTIVITYC находится на экране, я могу перезагрузить ACTIVITYB. Но когда ACTIVITYB находится на экране, я не могу перезагрузить тот же ACTIVITYB.

+1

Почему бы вам не использовать только 'finish' остановить вашу деятельность? Если вы также начали свои другие действия с '1000' как' requestCode', они также будут убиты. –

+0

Я не понимаю, что расширяет АКТИВНОСТЬ А означает. Вы имеете в виду, что у вас есть 2 фрагмента в вашей деятельности? – edisonthk

ответ

7

finishActivity используется, чтобы закрыть другую деятельность от текущей деятельности, для получения дополнительной информации вы можете проверить официальный документ: finishActivity Таким образом, вы должны использовать finish() вместо finishActivity() для текущего Activity

0

, если вы хотите, чтобы закончить текущий activty вам придется удалить это из действия стека befire, идущего на следующий экран, что вы должны использовать

youractivity.this.finish();

0

Вы можете использовать:

getActivity().setResult(350, null); 
getActivity().finish(); 
Смежные вопросы