【问题标题】:How to use RecyclerView and CardView如何使用 RecyclerView 和 CardView
【发布时间】:2015-10-01 08:20:18
【问题描述】:

我在 android 开发方面没有太多经验,并尝试在我的应用程序中实现 RecyclerView。 android studio 的版本没有Android L 也没有安装选项。每次它说android.support.widget.v7.RecyclerView in not used 并从导入包中禁用它。我也在 Gradle.build 中的布局文件中提供了参考,但我的问题仍然有人帮忙吗?

【问题讨论】:

  • 请发布您的 gradle.build。和用于实现回收站视图的 xml 布局。
  • 你应该更新你的 SDK

标签: android android-studio android-recyclerview android-cardview


【解决方案1】:

跟随这条线

  • Material Design 中的 CardView 和 RecyclerView

http://icetea09.com/blog/2014/12/19/android-cardview-and-recyclerview-in-material-design/

将这些添加到依赖项

    compile 'com.android.support:cardview-v7:22.2.0'
    compile 'com.android.support:recyclerview-v7:22.2.0'

并更新模块的build.gradle 中的gradle

  • 每个示例:

CardView

<android.support.v7.widget.CardView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    card_view:contentPadding="16dp"
    card_view:cardElevation="2dp"
    card_view:cardCornerRadius="5dp">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            style="@style/Base.TextAppearance.AppCompat.Headline"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Title" />

        <TextView
            style="@style/Base.TextAppearance.AppCompat.Body1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Content here" />

    </LinearLayout>

</android.support.v7.widget.CardView>

RecyclerView:

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

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>

【讨论】:

  • 我刚刚为这个回复添加了其他信息,该链接将来可能会被禁用,这就是原因。
  • AndroidDev 是什么原因?
  • 该链接将来可能会被禁用。所以@AndroidDev 想添加示例。
  • 但是你的回答解决了我的问题。谢谢您的帮助。接受你的回答
  • @abhishek 请也回答这个问题:stackoverflow.com/questions/36393540/…
【解决方案2】:

说明如何在 Android 中使用回收站视图

以下是说明如何使用 Recycler View 的步骤

  • 转到应用 gradle 文件

  • 为 Recycler View 添加依赖 compile 'com.android.support:recyclerview-v7:25.3.1'(在创建项目时使用最新的一个依赖项),并同步项目

  • 在您的活动/片段文件中使用带有此标签的 Recycler 视图 -- v7 小部件支持文件中提供了 recycler 视图

  • 转到您各自的 Java 文件并获取对此回收器视图的引用

  • 创建一个新的布局 (xml) 文件以创建要在回收器视图中插入的自定义视图,并将其命名为 custom_row.xml

  • 创建一个 Java 类并将其命名为 RecyclerviewHolder 并使用 RecyclerView.ViewHolder 对其进行扩展并创建一个超级构造函数,然后访问您的 custom-row.xml 文件中的所有视图

  • 现在创建另一个名为 RecyclerAdapterMyRecyclerAdapter 的 Java 类,并通过 RecyclerView.Adapter 扩展它并传递您的 RecyclerviewHolder 类在这里像

    class RecyclerAdapter extends RecyclerView.Adapter&lt;RecyclerviewHolder&gt;

  • 然后创建一个构造函数,然后按alt+enter,它会为你生成三个方法,即你只需要重写RecyclerView.Adapter类的这三个方法

这三种方法是:-

{ onCreateViewHolder , OnBindViewHolder , getCount }

  • OnCreateViewHolder - 一种方法,您将在其中传递自定义视图布局以使用 LayoutInflater 对其进行填充,在此方法中您只需创建 RecyclerviewHolder 的对象类之后,您将在此方法中返回此视图对象。

  • OnBindViewHolder - 您可以在此处对您的视图执行任何操作,只需为持有者添加前缀即可。到您的所有视图名称并使用它们来执行任何操作或任何事件处理

  • getCount - 在这里我们将返回 count 的值,您希望填充自定义视图的次数

  • 现在转到您相应的 Activity 或 Fragment 文件并创建 RecyclerAdapter 类的一个对象,并将此适配器设置在您的回收站视图中。

【讨论】:

    【解决方案3】:

    根据documentation,您必须将特殊依赖项添加到您的 gradle 文件中:

    dependencies {
        ...
        compile 'com.android.support:appcompat-v7:27.0.1'
        compile 'com.android.support:cardview-v7:27.0.1'
        compile 'com.android.support:recyclerview-v7:27.0.1'
    
    }
    

    要使用它,请始终以 android.support.v7.widget. 为前缀

    【讨论】:

    • @AndroidDev 刚刚更新,文档没有更新
    【解决方案4】:

    RecyclerView 使用一个适配器,它将列表项传递给它。适配器返回您选择传递给 RecyclerView 的 List Item 类型的对象。在这篇文章中,您将学习如何在您的应用中实现 RecyclerView,以及如何传递 CardView 对象来滚动它们。

    步骤: 1) 建立一个 CardView 2) 构建一个数据模型来填充您的 CardView 3) 构建一个 RecyclerView 4) 构建一个适配器,将您的数据连接到 RecyclerView 5) 将适配器设置为您的 RecyclerView

    本教程将帮助您按照以下步骤在 Android 应用中使用 RecyclerView 和 CardView:

    https://knowledgecollisions.wordpress.com/2016/03/29/using-recyclerview-and-cardview-in-your-android-app/

    【讨论】:

      【解决方案5】:

      你可以在没有CardView的情况下使用Recyclerview。但是CardView提供了更多的功能来设计列表行。

      【讨论】:

        【解决方案6】:
        implementation 'com.android.support:design:29+'
        

        根据build.grade(:app) 文件中的targetSdkVersion 更改版本,在我的情况下是29

        【讨论】:

          猜你喜欢
          • 2021-01-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-23
          • 1970-01-01
          • 2018-03-02
          相关资源
          最近更新 更多