Вы имеете в виду перезапустить Занятие А? Хотя наиболее распространенный подход - это просто перезапустить новый Intent с тем же классом, я думаю, что он использует слишком много памяти. Я бы лучше создал метод "init", который должен вызываться из onCreate AND, когда вы хотите перезапустить свою деятельность. Пример:
public void onCreate(Bundle si){
// Call super and set your layout...
init();
}
/**
* This method should be called whenever you want to restart your activity. The
* biggest advantage is you already have your layout (setContentView() method)
*/
private void relaunchActivityA(){
// Clean or save anything you need to clean or save
init();
}
private void init(){
// Init your variables, threads, and so on
}
Если вы написали «закончить это и начать новую деятельность А» вместо «Деятельность Б», то сразу после вашей функции startActivity () по действию А - вызов «завершить». Пример:
// This is inside Activity A
Intent i = new Intent(this, ActivityB.class);
startActivity();
finish(); // This will be called right after 'Activity B' finishes