Android:GCM和Tabhost可以共存吗?

时间:2013-06-20 01:02:16

标签: android android-tabhost google-cloud-messaging android-2.3-gingerbread

我有一个需要GCM和Tabhost的项目,但是在同一个MainActivity类中声明它们会导致应用程序崩溃,我不能使用片段,因为我的应用程序需要向后兼容Gingerbread。有没有人知道一种解决方法?

修改 好吧,我发现这个很好的教程在前Honeycomb版本中实现Fragmented Tabs,但我仍然遇到同样的问题。 http://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/

如何以不干扰Tabs的方式实现GCM /反之?我错过了什么?

1 个答案:

答案 0 :(得分:0)

毕竟GCM和TabHost看起来很好玩。问题的根源不是,而是一个选项菜单。如果有人使用Google提供的DemoActivity Library设置GCM,请在撕掉头发之前检查这段令人讨厌的代码:

@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);
   }
}    

我不够聪明,无法弄清楚为什么这会有问题,但它不喜欢用Fragments创建的TabHost或Tabs(我试过这两个)。