回到主片段

时间:2016-05-07 15:56:25

标签: android android-fragments

当我返回nav_home时,应用程序显示错误。可能会发生什么?

其他按钮工作正常,只有nav_home无效。

 public boolean onNavigationItemSelected(MenuItem item) {
            FragmentManager fm = getFragmentManager();
            int id = item.getItemId();

            if (id == R.id.nav_home) {
                fm.beginTransaction().replace(R.id.content_frame, new MainFragment()).commit();
            } else if (id == R.id.nav_perfil) {
                fm.beginTransaction().replace(R.id.content_frame, new Perfil()).commit();
            }else if (id == R.id.nav_cadprof) {
                fm.beginTransaction().replace(R.id.content_frame, new CadProfFragment()).commit();
            } else if (id == R.id.nav_tabelapreco) {
                fm.beginTransaction().replace(R.id.content_frame, new TabelaPreco()).commit();

            } else if (id == R.id.nav_ajuda) {
                fm.beginTransaction().replace(R.id.content_frame, new Ajuda()).commit();

            } else if (id == R.id.nav_sobre) {
                fm.beginTransaction().replace(R.id.content_frame, new Sobre()).commit();

            } else if (id == R.id.nav_slogan) {

            }

            DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);
            return true;
        }
    }

日志

05-07 12:54:25.364 27082-27082/com.caseb.case_beauty_ E/AndroidRuntime: FATAL EXCEPTION: main
                                                                        Process: com.caseb.case_beauty_, PID: 27082
                                                                        android.view.InflateException: Binary XML file line #18: Error inflating class fragment

这个XML在我的ActivityMain中的onCreate方法中调用,效果很好。应用程序调用此Fragment但更改Fragment并返回到此XML应用程序显示错误。

XML片段主

<FrameLayout 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"
    tools:context="com.caseb.case_beauty_Fargments.MainFragment">

    <!-- TODO: Update blank fragment layout -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/map"
        android:orientation="vertical">

        <fragment xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:map="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="fill_parent"
            android:layout_height="300dp"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentStart="true"
            tools:context="com.caseb.testemaps.MapsActivity"
            tools:layout="@layout/content_main" />

        <Button
            android:id="@+id/bt_estimavalor"
            android:layout_width="129dp"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:background="@drawable/screen_border"
            android:backgroundTint="#66e72bac"
            android:text="Estimar Valor"
            android:textColor="#ffffff" />

        <Button
            android:id="@+id/bt_enviasolicita"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:background="@drawable/screen_border"
            android:backgroundTint="#66e72bac"
            android:text="Enviar Localização e Solicitar"
            android:textColor="#ffffff"
            android:textStyle="bold" />

        <ExpandableListView
            android:id="@+id/expandableListView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>

    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />


</FrameLayout>

3 个答案:

答案 0 :(得分:0)

从错误消息中可以得出结论,该片段的xml不正确。尝试在AS设计编辑器中打开xml,看看有什么不对。

答案 1 :(得分:0)

根据他们的错误,xml中存在错误。如果您非常友好地添加代码来检查您的xml。问候

答案 2 :(得分:0)

尝试清理项目,然后`使Caches / Restart /.

无效

如果没有帮助结帐question