Несовместимый с макетом Android Тип FrameLayout внутри виджета DrawerLayout

#android #android-layout #android-framelayout #drawerlayout

#Android #android-макет #android-framelayout #drawerlayout

Вопрос:

Я хочу добавить баннер admob в свое приложение, но я получаю сообщение об ошибке. Я думаю, что это Framelayout, но я получил сообщение, что это представление.

 FrameLayout bannerMainLayout = ((Activity) context).findViewById(R.id.banner_main);
 

Я получил сообщения:
Несовместимые типы.
Требуется android.widget.FrameLayout
Найдено: android.просмотр.Просмотр

 <android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@ id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <FrameLayout
        android:id="@ id/containerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    </FrameLayout>

    <!--Main content-->
    <RelativeLayout
        android:id="@ id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.Toolbar
            android:id="@ id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimary"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        <FrameLayout
            android:id="@ id/frame_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@ id/relativeLayout"
            android:layout_below="@ id/toolbar" />

        <FrameLayout
            android:id="@ id/banner_main"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_gravity="bottom" />

    </RelativeLayout>

    <!--Navigation Drawer-->
    <android.support.design.widget.NavigationView
        android:id="@ id/main_drawer"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/drawer_header"
        app:menu="@menu/menu_drawer" />
</android.support.v4.widget.DrawerLayout>
 

Пожалуйста, помогите, как устранить эту ошибку?

Комментарии:

1. DrawerLayout может иметь только два дочерних элемента, один из которых является основным контейнером, а другой — контейнером ящика. В вашем случае у него 3 FrameLayout , RelativeLayout amp; NavigationView .

2. @JeelVankhede итак, у вас есть решение этой проблемы? Мне нужно добавить баннер admob в это основное действие

3. Попробуйте удалить FrameLayout идентификатор containerView из xml-файла, если вы используете его в Activity, попробуйте настроить его в своем RelativeLayout или найдите какое-нибудь обходное решение для этого. Главное, чтобы их было только два DrawerLayout . Это может быть проблемой.