我有一个Fragment类,由FragmentTabHost调用,它不会显示任何内容。
这是我的ArticulosFragment
课程:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class ArticulosFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.d("App", "asdasdasd");
return inflater.inflate(R.layout.fragment_articulos, container, false);
}
}
我在XML文件中有一个简单的TextView:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Articulos"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
当我运行应用时,添加的日志显示正确,但文字 Articulos 却没有。
编辑:这是我的TabHost类,它显示(或应显示)ArticulosFragment
类:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
tabHost.setup(this, getSupportFragmentManager(),
android.R.id.tabcontent);
inicializarTabs();
}
public void inicializarTabs() {
TabHost.TabSpec spec = tabHost.newTabSpec("Articulos");
spec.setContent(new TabContentFactory() {
@Override
public View createTabContent(String tag) {
// TODO Auto-generated method stub
return findViewById(R.id.realtabcontent);
}
});
spec.setIndicator("Articulos");
tabHost.addTab(spec, ArticulosFragment.class, null);
}
答案 0 :(得分:0)
可能导致的两件事:
尝试从Fragment中删除onCreate方法
答案 1 :(得分:0)
<强> TabContentFactory 强>
选中标签时的内容。如果您的标签使用此选项 需要按需创建内容,即您没有显示内容 现有观点或开始活动。
请注意这一行:
您没有显示现有视图或开始活动。
public abstract View createTabContent (String tag)
Callback to make the tab contents
Parameters
tag Which tab was selected.
Returns
The view to display the contents of the selected tab.
因为你有一个片段,它已经有了一个你不需要createTabContent
的视图,而有趣的部分是:
如您所见,fragmentTabHost会覆盖您的TabContentFactory
。
无论如何你的问题是:
tabHost.setup(this, getSupportFragmentManager(),android.R.id.tabcontent);
将其更改为:
tabHost.setup(this, getSupportFragmentManager(),R.id.realtabcontent);