文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android Studio开发(二)使用RecyclerView

2022-06-06 13:33

关注

Android Studio开发(二)使用RecyclerViewAndroid Studio开发(二)RecyclerView一、任务需求二、Recycler View梳理1. Fragment, Adapter, RecyclerView, MainActivity及Data之间的关系2. 各部分功能简要说明3. 使用RecyclerView的几种方法:三、部分代码展示1. Friend.java2. frdFragment.java四、实现效果 Android Studio开发(二)RecyclerView 一、任务需求 根据Android Studio开发(一)模拟微信页面内容进行recycleview设计开发。 在原有作业一上选择一个tab添加recycleview显示。
显示内容不做限定,可以是新闻、商品、球队、明星、快递时间轴、漫画等。 可根据课程做最基本的RecyclerView设计,也可以进行较复杂的动态控制。
综上,我将第一次中朋友界面进行了改动,模拟实现了基于RecyclerView的瀑布流展示。(假装自己的微信好友是欧美歌手XD) 二、Recycler View梳理 1. Fragment, Adapter, RecyclerView, MainActivity及Data之间的关系

我们可以将上述主要划分为三部分,如下图所示:
在这里插入图片描述

2. 各部分功能简要说明 RecyclerView.xml: 本项目中对应
item.xml
,放置所需的控件,实现批量添加控件。 Fragment.xml: 本项目中对应
tab02.xml
,放置所需的控件,可包含 RecyclerViewMainActivity.xml: 本项目中对应
activity_main.xml
,放置所需的控件,可包含 FragmentAdapter.java: 本项目中对应
friendAdapter.java
,具体实现item.xml中的控件,实现数据加入方法; Fragment.java: 本项目中对应friendFragment.java,具现tab02.xml,加入并传递对象数据至friendFragment.java中,实现加入数据。 MainActivity.java: 实现friendFragment.java的加入。 3. 使用RecyclerView的几种方法:

(1)直接在.xml文件中通过拖拽的方法使用RecyclerView,项目会自动添加依赖关系(注意添加约束);
(2)手动添加v7支持库,然后将支持库添加到

dependencies
部分。具体实现可至官网阅览

三、部分代码展示 1. Friend.java
package com.example.mywechat2;
public class Friend {
    private int id;
    private int imageid;
    private String name;
    public Friend(int id, int imageid, String name) {
        this.id = id;
        this.imageid = imageid;
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public int getImageid() {
        return imageid;
    }
    public String getName() {
        return name;
    }
}
2. frdFragment.java
package com.example.mywechat2;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
import java.util.ArrayList;
import java.util.List;

public class frdFragment extends Fragment {
    private List friendList = new ArrayList();
    public frdFragment() {
        // Required empty public constructor
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
//        return inflater.inflate(R.layout.tab02, container, false);
        View view = inflater.inflate(R.layout.tab02, container, false);
        RecyclerView recyclerView = view.findViewById(R.id.RecyclerView);
        initFrd();
        StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
        recyclerView.setLayoutManager(manager);
        friendAdapter adapter = new friendAdapter(friendList);
        recyclerView.setAdapter(adapter);
        return view;
    }
    private void initFrd() {
        for(int i = 0; i < 10; i++) {
            Friend frdGaga=new Friend(i, R.drawable.lady_gaga, "Lady Gaga");
            friendList.add(frdGaga);
            Friend frdAdam=new Friend(i, R.drawable.adam, "Adam Levin");
            friendList.add(frdAdam);
            Friend frdAdele=new Friend(i, R.drawable.adele, "Adele Adkins");
            friendList.add(frdAdele);
            Friend frdGreyson=new Friend(i, R.drawable.greyson, "Greyson Chance");
            friendList.add(frdGreyson);
            Friend frdRihanna=new Friend(i, R.drawable.myrihanna, "Rihanna Fenty");
            friendList.add(frdRihanna);
            Friend frdLana=new Friend(i, R.drawable.lana, "Lana Del Rey");
            friendList.add(frdLana);
            Friend frdKaty=new Friend(i, R.drawable.katy, "Lady Gaga");
            friendList.add(frdKaty);
            Friend frdLorde=new Friend(i, R.drawable.lorde, "Katy Perry");
            friendList.add(frdLorde);
            Friend frdBruno=new Friend(i, R.drawable.bruno_mars, "Bruno Mars");
            friendList.add(frdBruno);
            Friend frdTroye=new Friend(i, R.drawable.troye, "Troye Sivan");
            friendList.add(frdTroye);
        }
    }
}

比较关键的还有friendAdapter.java,在此就不一一展示了,感兴趣的可以看我的对应源码。

四、实现效果

在这里插入图片描述

本次项目对应源码


作者:Louloo


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯