Android Recyclerview未显示是否放置在其他布局

时间:2016-02-09 03:14:47

标签: android android-layout android-recyclerview

我正在使用循环视图来显示来自Android工作室的列表,当它只是下面的元素时,它的工作正常。

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/list"
    android:name="com.example.ItemFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    app:layoutManager="LinearLayoutManager"

    tools:context="com.example.ItemFragment"
    tools:listitem="@layout/fragment_item" />

但我想在recyclerview下面展示Google广告,所以这里是修改后的代码,它根本没有显示Recyclerview,只显示广告。

<RelativeLayout
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/list"
        android:name="com.example.ItemFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        app:layoutManager="LinearLayoutManager"

        tools:context="com.example.ItemFragment"
        tools:listitem="@layout/fragment_item" />

        <com.google.android.gms.ads.AdView
            android:id="@+id/adView1"
            ads:adSize="BANNER"
            ads:adUnitId="@string/banner_ad_unit_id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            />

    </RelativeLayout>

我想知道,是不可能将同级元素添加到Recyclerview,或者无法将Recyclerview放在其他布局中。

3 个答案:

答案 0 :(得分:1)

试试这个。您还需要将适配器设置为recyclerview

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id"/>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/list"
        android:name="com.example.ItemFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_above="@id/adView1"
        app:layoutManager="LinearLayoutManager"
        tools:context="com.example.ItemFragment"/>

</RelativeLayout>

答案 1 :(得分:0)

可以将同级元素添加到RecyclerView,但看起来您的布局无效。你需要尝试类似的东西:

<LinearLayout>
    <RecyclerView/>
    <AdView/>
</LinearLayout>

现在,您有一个关闭的RelativeLayout标记,但没有开始标记。

答案 2 :(得分:0)

检查onCreateView()

中的条件

如果它包含类似 - &gt;

的条件
if (view instanceof RecyclerView) {
    ... }

只需将其移除或使用适当的条件。