2014-03-04 4 views
0

Мой вопрос: как я могу перезапустить всю свою деятельность, когда она открывается. Например, в моей работе я использую таймер. Если я открою другой экран, а затем вернусь к нему, я хочу, чтобы вся деятельность была пересчитана. Я видел на сайте разработчиков Android, что я должен использовать методы onStop() и onStart(), но, пожалуйста, кто-нибудь может объяснить, как я это сделаю и где я буду размещать код.Как перезагружать/перезагружать активность всякий раз, когда она открывается?

Благодаря

+0

Не могли бы вы объяснить, почему вы этого хотите? – cYrixmorten

ответ

0

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

в Activity1:

Intent i = new Intent(this, Activity2.class); 
    i.putExtra("item", 1); 
    startActivity(i); 

в деятельности2:

Intent i=getIntent(); 
int item=i.getIntExtra("item", 0); 

К этому вы будете знать, если вы пришли к деятельности2 из Activity1 (пункт = 1) или просто перезапущен Activity2 (item = 0). Теперь вы можете легко установить условие if в onResume() или просто в методе onCreate.

if(item==1) 
{ 
Intent i = new Intent(this, Activity2.class); 
startActivity(i); 
} 
0

Вы можете перезапустить деятельность с помощью этого метода

public void restartActivity() { 
    this.finish(); 
    this.startActivity(getIntent()); 
} 

При вызове этого метода в своей деятельности он будет перезагружен себя.

+0

Интересный ответ здесь, никогда не видел его раньше. – Eenvincible

Смежные вопросы