2013-08-05 2 views
0

Я работаю над приложением с TabGroupActivity. Я запускать через tabhost activies, так что я могу иметь более одного Намерения в каждой вкладке:Нажатие кнопки «Назад» останавливает и уничтожает мою активность, чтобы возобновить ее.

public class MainTabActivity extends TabActivity { 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main_tab); 
    final TabHost tabHost = getTabHost(); 
    tabHost.addTab(tabHost.newTabSpec("tab2") 
       .setIndicator("Que") 
       .setContent(new Intent(this, TabGroup2Activity.class))); 
} 

TabGroup2Activity класс:

public class TabGroup2Activity extends TabGroupActivity{ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Intent i = new Intent(getApplicationContext(),QueActivity.class); 
    startChildActivity("categorias", i); 
} 

}

Я получил TabGroupActivity от this страницы :

Моя проблема в том, что когда я нажимаю на вторую вкладку, я открываю свой QueActivity.class. Это в основном список с элементами, полученными из базы данных. Когда я фиксирую строку, я получаю новое намерение, открытое с информацией, переданной объектом Bundle. Проблема заключается в том, что когда я нажимаю кнопку «Назад» в этом намерении, я возвращаюсь к заданию QueActivity, которое было на событии onPause(), но оно переходит к событиям onStop(), onDestroy() и onStart(), которые запускаются в другие state (onResume, я думаю), где нет необходимости снова создаваться. Проблема заключается в том, что созданное намерение выполняет запросы SQL и вещи, которые мне больше не нужно выполнять. Я бы хотел вернуться и вернуться к последнему намерению таким образом, что мне не нужно его снова создавать. Надеюсь, я очень успешно объяснил.

ответ

0

Убедитесь, что вы закрыли CURSOR вне базы данных в своей деятельности, где бы вы ее не использовали.

stopManagingCursor(c); 
+0

У меня нет курсоров. БД является внешним для APP. Я использую веб-службы, может быть, поэтому? – n4h1n

+0

Что такое ошибка в logcat – Exceptional

+0

У меня нет ошибки в logcat, единственная проблема - когда я возвращаюсь к активности, она снова загружается – n4h1n

0

Попробуйте это:

<activity ... android:launchMode="singleTop" /> 

В вашем файле манифеста.

+0

Это не сработало. По-прежнему такое же поведение – n4h1n

0

Эта вещь специфична для устройства, некоторые устройства не идут на onresume и начинают с начала life cycle. Чтобы справиться с этим, вы можете использовать Savedinstatnce, чтобы сохранить состояние.

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