2016-05-04 2 views
0

Я новичок в Android-программировании. У меня возникла проблема с убийством Activity в студии android. Как я могу убить определенную деятельность (например, в моем приложении у меня есть два вида деятельности: A и BI хотят убить активность B, нажав кнопку в действии A) Может ли кто-нибудь мне помочь ...Killing Activity в студии Android

+0

Почему вы хотите, чтобы убить 'Activity', которые не могут быть созданы еще? Если вы хотите убить «Активность B» после перехода на «Активность A», вы можете просто установить 'android: noHistory =" true "' в 'manifest.xml' для этого' activity' – Pztar

+0

обрабатывать этот материал в 'ActivityB 'on Event evey Activity имеют функцию' onStop' или 'onResume' – Hosseini

+0

, чтобы проверить ответ здесь: [http://stackoverflow.com/questions/10379134/finish-an-activity-from-another-activity] (http: // stackoverflow.com/questions/10379134/finish-an-activity-from-another-activity) – user192417

ответ

0

Всякий раз, когда это возможно, я хотел бы попытаться избежать статические ссылки на другие виды деятельности и использовать BroadcastReceiver вместо:

private final class FinishReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (intent.getAction().equals(ACTION_FINISH)) 
      finish(); 
    } 
} 

Закрыть отправив:

sendBroadcast(new Intent(ACTION_FINISH)); 

Ознакомьтесь с полным примером в моем раннем post here.

0

Вы можете позвонить по этому телефону:

activityB.finish(); 
+0

'Actirvity.finish()' не гарантирует, что 100% его уничтожит 'активность', вы можете прочитать Документы и убедиться в этом – Hosseini

+0

Вы правы, но это может быть немного не по теме. Соответствующий ответ на действительно убить деятельность можно найти в моих ответах на эти вопросы: http://stackoverflow.com/questions/37028787/android-ondestroy-and-finish/37028970#37028970 или http://stackoverflow.com/ вопросы/36928759/how-to-clear-memory-from-pictures-of-previous-layouts-how-to-clean-memory-when/36928785 # 36928785 – David

0

Чтобы вызвать его, вы можете позвонить по вызову finish(). activity.finish()

Я бы предложил изучить жизненные циклы деятельности, чтобы лучше понять, что именно вы делаете.

Для твердого Справочно: http://developer.android.com/training/basics/activity-lifecycle/index.html

+0

kk спасибо за помощь ур – Adarsh

+0

Если вы нашли этот ответ достаточно полезным для ваш вопрос, пожалуйста, отметьте его как ответ. :) –

+0

Спасибо за вашу помощь. Я попробую этот код .. – Adarsh