Android.Views.InflateException при изменении ImageView - PullRequest
0 голосов
/ 11 ноября 2019

Я получаю ошибку заголовка при запуске приложения Xamarin.Android. Я начал с шаблона "Приложение для навигации".

Ошибка выдается в MainActivity.cs в строке SetContentView(Resource.Layout.activity_main); в методе OnCreate:

public class MainActivity : AppCompatActivity, NavigationView.IOnNavigationItemSelectedListener
    {
        readonly DataAccess dataAccess = new DataAccess();
        private List<ResultSummary> data;
        private ResultsSummaryListAdapter adapter;

        protected override async void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            SetContentView(Resource.Layout.activity_main); //Error here
            Android.Support.V7.Widget.Toolbar toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(toolbar);

            DrawerLayout drawer = FindViewById<DrawerLayout>(Resource.Id.drawer_layout);
            ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close);
            drawer.AddDrawerListener(toggle);
            toggle.SyncState();

            NavigationView navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
            navigationView.SetNavigationItemSelectedListener(this);
        }

       //Other default code

}

Этот запуск происходит послеЯ попытался изменить некоторые изображения по умолчанию. В результате я отследил проблему до ImageView в nav_header_main.xml:

<?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="@dimen/nav_header_height"
    android:background="@drawable/side_nav_bar"
    android:gravity="bottom"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:theme="@style/ThemeOverlay.AppCompat.Dark">

    //If I remove this ImageView it works fine.
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        app:srcCompat="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/RunnerName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        android:text="Runner Name Here" />

</LinearLayout>

Если я заменил изображения в папках mipmap- на значения по умолчанию, он снова заработает.

Из того, что я прочитал, проблема в том, что одно из изображений слишком велико. Это правильно, или это может быть что-то не так с изображениями?

Это немного сбивает с толку, потому что я создал свои изображения из Android Asset Studio , используя «Генератор иконок запуска»так что я ожидаю, что это создаст иконки соответствующего размера. Я заменил изображения с тем же именем, чтобы это не было ошибкой ссылки;если бы это было, я бы получил другое исключение.

Есть идеи, что здесь происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...