Наследование в Xamarin Android - PullRequest
1 голос
/ 29 апреля 2020

Я использую Xamarin для Android. У меня есть два действия с некоторым контентом, в файлах XML есть android.support.v4.widget.DrawerLayout и android.support.design.widget.NavigationView.

В MainActivity я использую два объекта для управления контентом. Это DrawerLayout и NavigationView. Для переключения между действиями я использую собственный метод.

private void OnNavigationItemSelected(object sender, NavigationView.NavigationItemSelectedEventArgs e)
    {
        switch (e.MenuItem.ItemId)
        {
            case (Resource.Id.home):
                //Go home

                break;

            case (Resource.Id.settings):
                //Go to other activity
                break;
        }

        drawerLayout.CloseDrawers();
    }

DrawerLayout, NavigationView и OnNavigationItemSelected находится в MainActivity, но я создал еще одно действие. Это Settings, и когда я выбрал элемент настроек, я перехожу к операции Settings.

Я написал ту же реализацию в операции Settings. У меня DrawerLayout, NavigationView и OnNavigationItemSelected.

Оказывается, я просто скопировал код. Может быть, я должен использовать наследование? Я просто не понимаю, как я могу понять это в Android приложении.

1 Ответ

1 голос
/ 29 апреля 2020

Создайте общий макет. xml для общего доступа к каждому виду деятельности.

  1. Поместите DrawerLayout и NavigationView в xml, который мы называем A.xml.

  2. Включите A.xml в xml дома и настроек.

Пример

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <include
        layout="@layout/A"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

Проверка { ссылка }

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