首页 理论教育 实战演示:使用RecyclerView和CardView创建新闻卡片

实战演示:使用RecyclerView和CardView创建新闻卡片

时间:2023-06-27 理论教育 版权反馈
【摘要】:下面应用RecyclerView和CardView控件实现新闻卡片。需要在项目的build.gradle添加相应的依赖库。打开build.gradle文件,在dependencies闭包中添加如下内容。图5-17 RecyclerView显示项的布局文件新建新闻卡片的布局文件res/layout/activity_news.xml,如图5-18所示,显示容器项是一个CardView。相比而言,RecyclerViewAdapter中必须要实现ViewHolder类,然后需要覆写几个方法,唯一复杂的地方是在onBingViewHolder方法中为两个按钮和CardView实现单击事件,跳转到新闻详细页面或者弹出分享。文件名为RecyclerViewAdapter.java,代码如下。主界面中的Activity文件MainActivity.java的代码如下。图5-19 RecyclerViewCard项目的运行结果

实战演示:使用RecyclerView和CardView创建新闻卡片

下面应用RecyclerView和CardView控件实现新闻卡片。

(1)在Android 2.3中创建应用项目:RecyclerView_Card。需要在项目的build.gradle(在Project模式下内层的build.gradle)添加相应的依赖库。

打开build.gradle文件,在dependencies闭包中添加如下内容。

978-7-111-58810-8-Chapter05-101.jpg

(2)主布局文件activity_main.xml中包含RecyclerView控件,代码如下。

978-7-111-58810-8-Chapter05-102.jpg

(3)新建RecyclerView显示项的布局文件res/layout/news_item.xml,如图5-17所示,显示容器项是一个CardView。

978-7-111-58810-8-Chapter05-103.jpg

图5-17 RecyclerView显示项的布局文件

(4)新建新闻卡片的布局文件res/layout/activity_news.xml,如图5-18所示,显示容器项是一个CardView。

978-7-111-58810-8-Chapter05-104.jpg

图5-18 新闻卡片的布局文件

(5)定义数据类。这里建立一个新闻类,implements Serialzable是为了在Intent中能够直接传递News对象,文件名为News.Java,代码如下。

978-7-111-58810-8-Chapter05-105.jpg(www.xing528.com)

978-7-111-58810-8-Chapter05-106.jpg

(6)自定义Adapter。这部分内容比较重要,如果对ListView自定义Adapter比较熟悉,将很容易看懂。相比而言,RecyclerViewAdapter中必须要实现ViewHolder类,然后需要覆写几个方法,唯一复杂的地方是在onBingViewHolder方法中为两个按钮和CardView实现单击事件,跳转到新闻详细页面(NewsActivity)或者弹出分享。文件名为RecyclerViewAdapter.java,代码如下。

978-7-111-58810-8-Chapter05-107.jpg

978-7-111-58810-8-Chapter05-108.jpg

(7)创建NewsActivity类,用来显示新闻详细内容,布局使用res/layout/activity_news.xml,文件名为NewsActivity.java,代码如下。

978-7-111-58810-8-Chapter05-109.jpg

978-7-111-58810-8-Chapter05-110.jpg

(8)主界面中的Activity文件MainActivity.java的代码如下。

978-7-111-58810-8-Chapter05-111.jpg

978-7-111-58810-8-Chapter05-112.jpg

(9)RecyclerView_Card项目的运行结果如图5-19所示。

978-7-111-58810-8-Chapter05-113.jpg

图5-19 RecyclerViewCard项目的运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈