尝试在你的XML布局,而不是正常TabHost使用这个自定义类:
package com.example.test;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TabHost;
public class TabHostFix extends TabHost
{
public TabHostFix(Context context)
{
super(context);
}
public TabHostFix(Context context, AttributeSet attrs)
{
super(context, attrs);
}
@Override
public void onTouchModeChanged(boolean isInTouchMode)
{
//do not call through to base class, do nothing
//this is a fix for tabhost stealing focus from textboxes
}
}
参考在你的XML布局自定义类这样的:
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@android:id/tabs"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_weight="0"/>
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0" />
android:id="@+android:id/realtabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
编辑: 作为替代解决方案,您可以通过使用支持库中的ViewPager和模仿选项卡的自定义View Pager指标完全替代TabHost。我从来没有尝试过,但我已经读过,有很好的免费第三方查看传呼机指标here。