1

我在这里发现了几个类似的问题,但建议的答案不适合我。

所以错误是:

08-13 14:40:10.723: E/AndroidRuntime(630): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fragments/com.example.fragments.MainActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment

我的主要活动是:

    package com.example.fragments;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

}

我的xml是:

    <?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="horizontal" >

    <fragment
        android:id="@+id/listFragment"
        android:layout_width="150dip"
        android:layout_height="match_parent"
        android:layout_marginTop="?android:attr/actionBarSize"
        class="com.example.fragments.ListFragment" >
    </fragment>

    <fragment
        android:id="@+id/detailFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.example.fragments.DetailFragment" >
    </fragment>

</LinearLayout>

非常感谢有关此问题的任何帮助

xx

4

2 回答 2

4

所以基本上问题是通过在项目中实现所有与 Fragment 相关的导入来解决的,如下所示:

import android.support.v4.app.FragmentActivity;
import android.support.v4.app.Fragment;
import android.support.v4.app.ListFragment

而不是:

import android.app.Fragment
import android.app.FragmentActivity
import android.app.ListFragment
于 2012-08-13T20:44:07.330 回答
1

我认为错误可能是由于

android:layout_marginTop="?android:attr/actionBarSize"

actionBarSize 仅在 api 11 中引入,并且当您使用支持库时,我假设您正在 Android 3.0 之前的设备上进行开发。尝试删除该属性,看看是否是问题所在。

于 2012-08-13T15:24:05.377 回答