Вопрос:

Android.Views.InflateException: строка двоичного файла XML № 1: строка двоичного файла XML № 1: ошибка надувания класса android.support.v7.widget.DrawerLayout

c# xamarin xamarin.android

579 просмотра

3 ответа

108 Репутация автора

Я новичок в разработке приложений для Android, и я пытаюсь добавить навигацию в мое приложение, но я получаю эту ошибку SetContentView(Resource.Layout.activity_working);в WorkingActivity.cs:

Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.v7.widget.DrawerLayout

Это мои файлы:

activity_working.axml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"    
  android:orientation="vertical"    
  android:layout_width="match_parent"    
  android:layout_height="match_parent">    
  <android.support.v7.widget.DrawerLayout xmlns:app="http://schemas.android.com/apk/res-auto"    
     android:id="@+id/drawer_layout"    
     android:layout_height="match_parent"    
     android:layout_width="fill_parent"    
     android:fitsSystemWindows="true">    
         <LinearLayout    
            android:layout_width="match_parent"    
            android:layout_height="match_parent"    
            android:orientation="vertical">    
          <include layout="@layout/toolbar" />    
  </LinearLayout>

  <android.support.design.widget.NavigationView    
     android:id="@+id/nav_view"    
     android:layout_height="match_parent"    
     android:layout_width="300dp"    
     android:layout_gravity="start"   
     android:fitsSystemWindows="true"
     app:headerLayout="@layout/nav_header" />   
  </android.support.v7.widget.DrawerLayout>   

WorkingActivity.cs

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Support.Design.Widget;
using Android.Support.V4.Widget;
using Android.Support.V7.App;
using Android.Support.V7.Widget;
using Android.Views;
using Android.Widget;

namespace App2
{
    [Activity(Label = "WorkingActivity", Theme = "@style/AppTheme")]
    public class WorkingActivity : AppCompatActivity
    {
        DrawerLayout drawerLayout;
        NavigationView navigationView;

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_working);
        }

    }
}

toolbar.axml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 
      xmlns:android="http://schemas.android.com/apk/res/android"    
      xmlns:app="http://schemas.android.com/apk/res-auto"    
      android:id="@+id/main_content"    
      android:layout_width="match_parent"    
      android:layout_height="match_parent">

  <android.support.design.widget.AppBarLayout    
     android:id="@+id/appbar"    
     android:layout_width="match_parent"    
     android:layout_height="wrap_content"    
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">    

  <android.support.v7.widget.Toolbar    
     android:id="@+id/toolbar"    
     android:layout_width="match_parent"    
     android:layout_height="wrap_content"    
     android:elevation="4dp"    
     android:background="?attr/colorPrimary" />  

  </android.support.design.widget.AppBarLayout>    
</android.support.design.widget.CoordinatorLayout>  

nav_header.axml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
   xmlns:app="http://schemas.android.com/apk/res-auto"    
   android:layout_width="match_parent"    
   android:layout_height="210dp"    
   android:background="#0099ff"    
   android:padding="16dp"    
   android:orientation="vertical"    
   android:gravity="bottom">    
   <TextView    
      android:text="User Name"    
      android:layout_width="match_parent"    
      android:layout_height="wrap_content"    
      android:id="@+id/navheader_username"    
      android:textAppearance="@style/TextAppearance.AppCompat.Body1" />    
</LinearLayout>  

menu.xml:

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

   <item android:id="@+id/nav_main"
    android:title="Home"></item>

   <item android:id="@+id/nav_message"
    android:title="Message"></item>

   <item android:id="@+id/nav_about"
    android:title="About"></item>

   <item android:id="@+id/nav_feedback"
    android:title="Feedback"></item>

</menu> 

styles.xml:

<resources>

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

colors.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#2c3e50</color>
    <color name="colorPrimaryDark">#1B3147</color>
    <color name="colorAccent">#3498db</color>
</resources>

В чем может быть проблема?

До того как я добавил файлы для навигации все было хорошо.

Автор: Alexander Mujirishvili Источник Размещён: 30.08.2018 08:39

Ответы (3)


0 плюса

83 Репутация автора

Это может быть связано с проблемой зависимости.

Попробуй это. Но сначала создайте резервную копию для вашего решения.

  1. Выберите решение в обозревателе решений.
  2. Нажмите Меню инструментов> Диспетчер пакетов Nuget> Управление пакетами Nuget для решения.
  3. Найти пункт в "Установлено": Xamarin Forms
  4. Посмотрите на правую панель, затем проверьте все проекты решения и нажмите кнопку Удалить.
  5. Перезапустите Visual Studio
  6. Переустановите формы Xamarin
  7. Щелкните правой кнопкой мыши решение и выберите «Чистое решение».
  8. Перекомпилируйте приложение.

Надеюсь, это работает.

Автор: Leandro Keen Zapa Размещён: 30.08.2018 09:15

0 плюса

108 Репутация автора

Решение

Я изменился

android.support.v7.widget.DrawerLayout

в

android.support.v4.widget.DrawerLayout

и проблема была решена.

Автор: Alexander Mujirishvili Размещён: 30.08.2018 11:40

0 плюса

1 Репутация автора

Я обнаружил ошибку в "android.suport.v7.widget.Toolbar". Я написал ее вместо поддержки, убедитесь, что вы пишете правильно

Автор: Mostafa Ahmed Размещён: 11.08.2019 08:16
Вопросы из категории :
32x32