android片段怪问题空白屏幕

时间:2013-08-13 16:20:21

标签: android

我正在测试基本的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);
}

}

1 个答案:

答案 0 :(得分:2)

您未设置新活动的内容视图。您可能正在推送到StaticFragment Activity,但是您没有加载视图的xml。在您的StaticFragmentActivity super.onCreate()之后,添加setContentView(R.layout.static_fragment.xml);

应该解决问题。