片段错误膨胀类片段

时间:2012-10-08 16:58:46

标签: android android-fragments

我在片段上遇到了一些问题我得到了一个错误:

Binary XML file line #2 Error: inflating class fragment.
Cause by: Java.lan.NullPointerException: name == null

这是我的二进制文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <fragment
        android:id="@+id/fragment_content"
        android:name="com.livetrekker.fragments.WelcomeFragment"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="1" />
</LinearLayout>

然后我的FragmentActivity:

public class SetupWizard extends FragmentActivity{
    public void onCreate(Bundle bundle){
        super.onCreate(bundle);
        setContentView(R.layout.activity_wizardsetup);
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        WelcomeFragment wf = new WelcomeFragment();
        fragmentTransaction.add(R.id.fragment_content, wf);

        fragmentTransaction.commit();
    }
}

最后我的片段:

Public class WelcomeFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
        return inflater.inflate(R.layout.welcomelivetrekker,container, false);
    }
}

我已将Android.support.v4.app.Fragment导入我的两个文件并在互联网上查看,但没有一个解决方案正常运行。

2 个答案:

答案 0 :(得分:0)

您的activity_wizardsetup.xml应如下所示:

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
</android.support.v4.view.ViewPager>

然后你的fragment_content.xml会看到这种效果:

<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/test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical" />

</LinearLayout>

我相信应该修复它...在我的代码中我使用FragmentPagerAdapter而不是FragmentTransaction或FragmentManager ...但我认为修复xml会起作用...

答案 1 :(得分:0)

我知道这是一个老线程,但我想我无论如何都会回答这个问题,因为这里的解决方案对我不起作用,但问题是一样的。

异常是对片段进行膨胀,因为name为null。 该片段必须包含以下字段:

android:name="com.google.android.gms.maps.MapFragment"

来源here