最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

android開發(fā) 最精簡(jiǎn)的 RecyclerView

2023-07-05 04:33 作者:翼618  | 我要投稿

啊,關(guān)于RecyclerView的帖子講的實(shí)在是太詳細(xì)太繁瑣了,

我這里弄一個(gè)最簡(jiǎn)單的,要做復(fù)雜的東西也是從簡(jiǎn)單的開始!

用到的東西分4塊??

·????????????????????? ?RecyclerView? ?XML布局?

????????????????????? ??Activity 的設(shè)置代碼

????????????????????????Adapter 設(shè)置RecyclerView 里面的實(shí)質(zhì)內(nèi)容

????????????????????????Adapter 使用到的布局文件




1 首先是布局,直接復(fù)制拿走把,可以隨便改

? ?<android.support.v7.widget.RecyclerView

? ? ? ? android:id="@+id/rv_list"

? ? ? ? android:layout_width="match_parent"

? ? ? ? android:layout_height="match_parent" />


------------我是分割線------------------------

2 Activity部分代碼? 就是聲明一些變量 然后一個(gè)函數(shù)方法


?????private RecyclerView mRecycleView;

? ? private NewAdapter mAdapter;//適配器

? ? private LinearLayoutManager mLinearLayoutManager;//布局管理器

? ? private List mList;

? ? Context mContext;



? ? private void SetRecycleView() {

? ? ? ? mList = new ArrayList();

// 這里是數(shù)據(jù),可以根據(jù)實(shí)際需要來修改類型 改了之后 取的部分跟著修改就好

? ? ? ? for (int i = 0; i < 5; i++) {

? ? ? ? ? ? mList.add("" + i);

? ? ? ? }

? ? ? ? mRecycleView = (RecyclerView) findViewById(R.id.rv_list);

? ? ? ? //創(chuàng)建布局管理器,垂直設(shè)置LinearLayoutManager.VERTICAL,水平設(shè)置LinearLayoutManager.HORIZONTAL

? ? ? ? mLinearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);

? ? ? ? //創(chuàng)建適配器,將數(shù)據(jù)傳遞給適配器

? ? ? ? mAdapter = new NewAdapter(mList, mContext);

? ? ? ? //設(shè)置布局管理器

? ? ? ? mRecycleView.setLayoutManager(mLinearLayoutManager);

? ? ? ? //設(shè)置適配器adapter

? ? ? ? mRecycleView.setAdapter(mAdapter);

? ? }


------------我是分割線------------------------


? ? /**

? ? ?* 切換數(shù)據(jù)? 這里放個(gè)切換刷新的方法 就是更改mList 后調(diào)用notifyDataSetChanged

? ? ?* 沒這需要的可以無視這個(gè)方法

? ? ?*/

? ? private void Switch() {

? ? ? ? mList.clear();//清除數(shù)據(jù)

? ? ? ? mAdapter.notifyDataSetChanged();//刷新RecycleView

? ? }


------------我是分割線------------------------

3 Adapter 部分 你可以在這里更改對(duì)應(yīng)的布局,對(duì)應(yīng)的數(shù)據(jù),對(duì)應(yīng)的點(diǎn)擊事件等等



public class NewAdapter extends RecyclerView.Adapter<NewAdapter.MyHolder> {


? ? private List mList;//數(shù)據(jù)源


? ? Context mContext;


? ? public NewAdapter(List list, Context mContextS) {

? ? ? ? mList = list;

? ? ? ? mContext = mContextS;

? ? }


? ? //創(chuàng)建ViewHolder并返回,后續(xù)item布局里控件都是從ViewHolder中取出

? ? @Override

? ? public NewAdapter.MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {

? ? ? ? //將我們自定義的item布局R.layout.item_one轉(zhuǎn)換為View

? ? ? ? View view = LayoutInflater.from(parent.getContext())

? ? ? ? ? ? ? ? .inflate(R.layout.item_new_adapter, parent, false);

? ? ? ? //將view傳遞給我們自定義的ViewHolder

? ? ? ? NewAdapter.MyHolder holder = new NewAdapter.MyHolder(view);

? ? ? ? //返回這個(gè)MyHolder實(shí)體

? ? ? ? return holder;

? ? }


? ? //通過方法提供的ViewHolder,將數(shù)據(jù)綁定到ViewHolder中

? ? @Override

? ? public void onBindViewHolder(NewAdapter.MyHolder holder, int position) {

? ? ? ? holder.tv1.setText(mList.get(position).toString());

? ? }


? ? //獲取數(shù)據(jù)源總的條數(shù)

? ? @Override

? ? public int getItemCount() {

? ? ? ? return mList.size();

? ? }


? ? /**

? ? ?* 自定義的ViewHolder

? ? ?*/

? ? class MyHolder extends RecyclerView.ViewHolder {


? ? ? ? TextView tv1;

? ? ? ? public MyHolder(View itemView) {

? ? ? ? ? ? super(itemView);

? ? ? ? ? ? tv1 = itemView.findViewById(R.id.tv1);

? ? ? ? ? ? tv1.setOnClickListener(new View.OnClickListener() {

? ? ? ? ? ? ? ? @Override

? ? ? ? ? ? ? ? public void onClick(View view) {


? ? ? ? ? ? ? ? }

? ? ? ? ? ? });

? ? ? ? }


? ? }


}

------------我是分割線------------------------

4 Adapter?對(duì)應(yīng)的布局文件,當(dāng)然你新建一個(gè)也是可以

我這里只列了一個(gè)TextView,一般需求都要自己修改 ID對(duì)得上,能取到修改就沒問題了


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

? ? xmlns:android="http://schemas.android.com/apk/res/android"

? ? android:layout_width="match_parent"

? ? android:layout_height="wrap_content"

? ? android:orientation="vertical">



? ? ? ? ? ? <TextView

? ? ? ? ? ? ? ? android:id="@+id/tv1"

? ? ? ? ? ? ? ? android:layout_width="0dp"

? ? ? ? ? ? ? ? android:layout_height="match_parent"

? ? ? ? ? ? ? ? android:layout_weight="1"

? ? ? ? ? ? ? ? android:gravity="center_vertical"

? ? ? ? ? ? ? ? android:text="2023/0605"

? ? ? ? ? ? ? ? android:textColor="#000000"

? ? ? ? ? ? ? ? android:textSize="@dimen/text_1"

? ? ? ? ? ? ? ? android:textStyle="bold" />



</LinearLayout>


android開發(fā) 最精簡(jiǎn)的 RecyclerView的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
图片| 长顺县| 宜兰市| 磴口县| 大安市| 陈巴尔虎旗| 乌鲁木齐市| 温州市| 宾阳县| 渝中区| 平罗县| 汝阳县| 中卫市| 牙克石市| 张家口市| 曲沃县| 白银市| 民勤县| 青河县| 开封县| 上栗县| 海盐县| 梅河口市| 林甸县| 望奎县| 乌海市| 临海市| 鸡西市| 公主岭市| 定远县| 汾西县| 吴川市| 姜堰市| 托里县| 湟源县| 岑溪市| 肥西县| 稷山县| 远安县| 衢州市| 新乐市|