我正在测试基本的Fragements东西,所以我创建了4个类,1个MainActivity,1个FragmentActivity和2个Fragments,我们的想法是我们通过MainActivity中的一个按钮调用FragmentActivity,然后将Fragment1和Fragment2显示为Fragment1有30%的屏幕有orrange背景,Fragment 2有70%有背景蓝色。没有错误,只是当我点击MainActivity中的按钮时,它会转到FragmentActivity,但只显示带有textview的白色屏幕,但是当我进入FragmentActivity上的.xml文件时,它会显示橙蓝屏幕?
这是MainActivity部分
buttonFrag2.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,StaticFragment.class);
startActivity(intent);
}
});
然后是StaticFragment类
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
public class StaticFragment extends FragmentActivity {
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
}
}
和static_fragment.xml,如图所示在图形布局中正确显示
<LinearLayout 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:orientation="horizontal"
android:baselineAligned="false"
>
<fragment
android:name="com.example.fragment.ListFrag"
android:id="@+id/listFrag"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight=".3"
tools:layout="@layout/list_frag" />
<fragment
android:name="com.example.fragment.DetailFrag"
android:id="@+id/detailFrag"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight=".7"
tools:layout="@layout/detail_frag" />
</LinearLayout>
也是片段类之一(它们是相同的)
package com.example.fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class ListFrag extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.list_frag, container, false);
}
}
答案 0 :(得分:2)
您未设置新活动的内容视图。您可能正在推送到StaticFragment Activity,但是您没有加载视图的xml。在您的StaticFragmentActivity super.onCreate()
之后,添加setContentView(R.layout.static_fragment.xml);
应该解决问题。