0

我正在尝试使用 2 个片段设置一个简单的应用程序。为此,我创建了 3 个类:

主要活动:

public class MainActivity extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        Fragment_A frag_A = new Fragment_A();
        fragmentTransaction.add(R.id.map_container, frag_A);

        Fragment_B frag_B = new Fragment_B();
        fragmentTransaction.add(R.id.map_container2, frag_B);

        fragmentTransaction.commit();   
    }
}

片段_A:

公共类 Fragment_A 扩展 Fragment{ MapView 地图;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View v = inflater.inflate(R.layout.fragment_a_layout, container, false);
        map = (MapView) v.findViewById(R.id.map_object);
        map.onCreate(savedInstanceState);

        return v;
    }

}

片段_B:

public class Fragment_B extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_b_layout, container, false);
        v.setBackgroundColor(Color.BLUE);
        return v;
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/map_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/map_container1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.5"
        android:orientation="horizontal" >
    </LinearLayout>

    <LinearLayout
        android:id="@+id/map_container2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.5"
        android:orientation="horizontal" >
    </LinearLayout>

</LinearLayout>

fragment_a_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/map_object"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              class="com.google.android.gms.maps.SupportMapFragment"/>
</FrameLayout>

fragment_b_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</FrameLayout>

碰巧每次我尝试运行这个应用程序时,我都有这个:Binary XML file line #6 Error inflating class fragment,其中 #6 是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/map_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
...

我不明白可能是什么问题,我只是想在我的屏幕上看到这两个片段。

4

0 回答 0