我有一个需要GCM和Tabhost的项目,但是在同一个MainActivity类中声明它们会导致应用程序崩溃,我不能使用片段,因为我的应用程序需要向后兼容Gingerbread。有没有人知道一种解决方法?
修改 好吧,我发现这个很好的教程在前Honeycomb版本中实现Fragmented Tabs,但我仍然遇到同样的问题。 http://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/
如何以不干扰Tabs的方式实现GCM /反之?我错过了什么?
答案 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(我试过这两个)。