Java 如何在CordovaActivity中使用TabHost?
我有这个示例cordova应用程序,我正在尝试将TabHost添加到其中。当我运行它时,它崩溃了,logcat说:Java 如何在CordovaActivity中使用TabHost?,java,android,cordova,android-tabhost,Java,Android,Cordova,Android Tabhost,我有这个示例cordova应用程序,我正在尝试将TabHost添加到其中。当我运行它时,它崩溃了,logcat说: java.lang.RuntimeException:无法启动活动 组件信息{io.cordova.hellocordova/io.cordova.hellocordova.main活动}: java.lang.NullPointerException:尝试调用虚拟方法“void” 空对象引用上的android.widget.TabHost.setup() 这是我的班级: publ
java.lang.RuntimeException:
无法启动活动
组件信息{io.cordova.hellocordova/io.cordova.hellocordova.main活动
}:
java.lang.NullPointerException:
尝试调用虚拟方法“void”
空对象引用上的android.widget.TabHost.setup()
这是我的班级:
public class MainActivity extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Resources ressources = getResources();
TabHost tabs = (TabHost)this.findViewById(R.id.tabhost);
tabs.setup();
Intent intentAndroid = new Intent().setClass(this, Utilitites.class);
TabSpec tabSpecAndroid = tabs
.newTabSpec("Utilities")
.setIndicator("", ressources.getDrawable(R.drawable.ic_delete))
.setContent(intentAndroid);
// Apple tab
Intent intentApple = new Intent().setClass(this, Locations.class);
TabSpec tabSpecApple = tabs
.newTabSpec("Locations")
.setIndicator("", ressources.getDrawable(R.drawable.ic_delete))
.setContent(intentApple);
tabs.addTab(tabSpecAndroid);
tabs.addTab(tabSpecApple);
// Set by <content src="index.html" /> in config.xml
// loadUrl(launchUrl);
}
}
公共类MainActivity扩展了CordovaActivity
{
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Resources ressources=getResources();
TabHost tabs=(TabHost)this.findviewbyd(R.id.TabHost);
tabs.setup();
Intent intentAndroid=new Intent().setClass(这是utilities.class);
TabSpec tabSpecAndroid=tabs
.newTabSpec(“公用事业”)
.setIndicator(“,resources.getDrawable(R.drawable.ic_delete))
.setContent(intentAndroid);
//苹果标签
Intent intentApple=new Intent().setClass(这个,Locations.class);
TabSpec tabSpecApple=tabs
.NETTABSPEC(“位置”)
.setIndicator(“,resources.getDrawable(R.drawable.ic_delete))
.setContent(intentApple);
tabs.addTab(tabSpecAndroid);
tabs.addTab(tabSpecApple);
//在config.xml中设置
//loadUrl(launchUrl);
}
}
这是因为类没有扩展选项卡activity
。如果这样做,则无法运行cordova活动
命令loadUrl(launchUrl)
是否有办法在
CordovaActivity
中使用TabHost
?有关可能的解决方案,请参阅TabActivity
不推荐使用,具体取决于您针对的API。此外,它还建议使用FragmentTabHost
,您可以尝试将其放入布局中,然后继续使用CordovaActivity
。您知道如何迁移到gradle吗?这个cordova项目没有gradle。你可以在网上找到资源切换到使用gradle,但我看不出切换到gradle与你的问题有什么关系。哇,在Android中添加标签的方法太多了,甚至让人对推荐的内容感到困惑。表示对选项卡使用操作栏。当你看到它的时候,它已经被弃用了。据我所知,您现在应该使用表格布局
。您可以看到一个示例。此外,您不能导入这些类,因为您不能将android支持库作为依赖项包含在项目中。您需要将支持库添加为依赖项,类似于您可能将cordova添加为依赖项的方式。