1

У меня есть проект, который требует как GCM, так и Tabhost, но объявление их обоих в том же классе MainActivity приводит к сбою приложения, и я не могу использовать фрагменты, поскольку мое приложение должно быть обратно совместимо с Gingerbread. Кто-нибудь знает об обходном пути?Android: Может ли GCM и Tabhost сосуществовать без фрагментов?

Edit: Ну, я нашел хороший учебник для реализации фрагментированных Вкладки в предварительных версиях Honeycomb, но я все еще переживает один и тот же вопрос. http://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/

Как я могу реализовать GCM таким образом, чтобы он не мешал Tabs/наоборот? Что мне не хватает?

+0

Вы можете использовать Фрагменты на пряниках - они являются частью Библиотеки поддержки: http://developer.android.com/tools/extras/support-library.html – ianhanniballake

+0

Это отличный совет! Я новичок в Android и никогда бы не подумал об этом. Спасибо! –

ответ

0

GCM и TabHost, похоже, все-таки хорошо играют. Корень проблемы оказался ничем, а скорее меню опций. Если кто-то настройки GCM с использованием библиотеки DemoActivity при условии чека Google для этого противного куска кода, прежде чем рвать волосы:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch(item.getItemId()) { 
     case R.id.options_register: 
      GCMRegistrar.register(this, SENDER_ID); 
      return true; 
     case R.id.options_unregister: 
      GCMRegistrar.unregister(this); 
      return true; 
     case R.id.options_clear: 
      mDisplay.setText(null); 
      return true; 
     case R.id.options_exit: 
      finish(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
}  

Я не достаточно умен, чтобы понять, почему это проблематично, но это не нравится TabHost или вкладки, созданные с помощью фрагментов (я пробовал оба).