Это может быть достигнуто, это легко, следовать мой шаг:
1.Копирование Offical исходный код FragmentTabHost
для вашего проекта, а также изменить следующие три класса refrence: android.support.v4.app.Fragment
к android.app.Fragment
android.support.v4.app.FragmentManager
к android.app.FragmentManager
android.support.v4.app.FragmentTransaction
до android.app.FragmentTransaction
2.Используйте версию проекта FragmentTabHost
в проекте и забудьте библиотеку android.support.v4
. Моя отредактированная версия: FragmentTabHost
Пример кода: (Показать первую вкладку, после задержки 5 сек, вы увидите вторую вкладку, я бегу на моем Android Studio успешно!)
MainActivity.java
public class MainActivity extends Activity {
FragmentTabHost mTabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTabHost = (FragmentTabHost) findViewById(R.id.tabhost);
mTabHost.setup(this, getFragmentManager(), R.id.container);
// Add each tab
mTabHost.addTab(mTabHost.newTabSpec("first").setIndicator("first"), BlankFragment1.class, null);
mTabHost.addTab(mTabHost.newTabSpec("second").setIndicator("second"), BlankFragment2.class, null);
mTabHost.postDelayed(new Runnable() {
@Override
public void run() {
mTabHost.setCurrentTabByTag("second");
}
}, 5000);
}
}
activity_main.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_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=".MainActivity">
<com.example.bill.myapplication.FragmentTabHost
android:layout_width="match_parent" android:layout_height="match_parent"
android:id="@+id/tabhost">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TabWidget
android:id="@android:id/tabs"
android:orientation="horizontal"
android:layout_width="0dp"
android:layout_height="0dp"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"/>
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
</com.example.bill.myapplication.FragmentTabHost>
</RelativeLayout>
Эй, братан, вы можете попробовать мой ответ ниже. У меня уже есть тест, и он работает для меня. – codezjx