Android Studio中的FragmentTabHost
我正在尝试在我的应用程序中实现一个3标签系统 Index.java(3个选项卡应位于此处) } Index.xmlAndroid Studio中的FragmentTabHost,android,android-fragments,android-tabhost,Android,Android Fragments,Android Tabhost,我正在尝试在我的应用程序中实现一个3标签系统 Index.java(3个选项卡应位于此处) } Index.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.vincent.tennispartner2.Index">
<android.support.v4.app.FragmentTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
</RelativeLayout>
我在这方面已经坚持了好几个小时,从actionbar到碎片,从工具栏到其他东西,但我找不到任何适合我的东西。鉴于我刚刚开始用java/android编写代码,我真的需要一些帮助
完全错误:
08-25 15:41:22.085 13008-13008/com.example.vincent.tennispartner2 E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.vincent.tennispartner2, PID: 13008
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.vincent.tennispartner2/com.example.vincent.tennispartn er2.Index}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.FragmentTabHost.setup(android.content.Context, android.support.v4.app.FragmentManager, int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2760)
at android.app.ActivityThread.access$900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5944)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.FragmentTabHost.setup(android.content.Context, android.support.v4.app.FragmentManager, int)' on a null object reference
at com.example.vincent.tennispartner2.Index.onCreate(Index.java:25)
at android.app.Activity.performCreate(Activity.java:6289)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2760)
at android.app.ActivityThread.access$900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5944)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)
非常感谢任何提示 变化:
mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
致:
更改:
setContentView(R.layout.activity_index);
致:
更改会在tabhost上显示一个错误,表示无法解析符号。我在网上找到了您的示例。您是否这样做了:ANDROID STUDIO:ANDROID STUDIO不提供依赖项,因此您必须手动导入它们。文件>项目结构>应用程序(在“模块>依赖项”选项卡下)。单击底部的“+”添加库依赖项;在本例中为“support-v4”。Jup,今天早些时候这样做了,我从那里获得了当前代码
mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
mTabHost = (FragmentTabHost) findViewById(R.id.tabhost);
setContentView(R.layout.activity_index);
setContentView(R.layout.index);