当前位置: 首页> 教育> 大学 > html静态网页源代码_网页设计师简历模板_腾讯新闻潍坊疫情_许昌网络推广公司

html静态网页源代码_网页设计师简历模板_腾讯新闻潍坊疫情_许昌网络推广公司

时间:2025/7/13 14:48:45来源:https://blog.csdn.net/aidou1314/article/details/146230896 浏览次数:1次
html静态网页源代码_网页设计师简历模板_腾讯新闻潍坊疫情_许昌网络推广公司

 1.RecyclerView列表

<androidx.recyclerview.widget.RecyclerViewandroid:id="@+id/rv_list"android:layout_width="match_parent"android:layout_height="match_parent"/>

 2.item布局

说明:在xml中import数据实体类DeviceData,可以直接取数据对控件进行内容填充

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"><data><import type="android.view.View"/><import type="com.example.DeviceData" alias="DeviceData"/><variablename="deviceData"type="DeviceData" /></data><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@color/lib_title_bg"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_item_device_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="15sp"android:layout_weight="1"android:text="@{deviceData.deviceName}"android:padding="10dp"/><TextViewandroid:id="@+id/tv_item_device_model"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="15sp"android:layout_weight="1"android:text="@{deviceData.deviceModelName}"android:padding="10dp"/></LinearLayout><Viewandroid:layout_width="match_parent"android:background="#F7F7F7"android:layout_height="15dp"/></LinearLayout>
</layout>

 3.adapter适配器

说明:适配器中使用dataBinding进行数据绑定,代码简洁

import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.orhanobut.logger.Logger
import com.example.R
import com.example.databinding.ItemDeviceListBinding
import com.example.DeviceDataclass DeviceListAdapter(val context: Context,var data: ArrayList<DeviceData>,val onItemClick: (Int) -> Unit,
): RecyclerView.Adapter<ViewHolder>() {lateinit var itemBinding: ItemDeviceListBindingoverride fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {itemBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.context),R.layout.item_device_list, parent, false)return ItemViewHolder(itemBinding,itemBinding.root)}override fun onBindViewHolder(holder: ViewHolder, position: Int) {(holder as ItemViewHolder).bind(data[position])holder.itemView.setOnClickListener(View.OnClickListener {onItemClick(position)})}override fun getItemCount(): Int {return data.size}fun refreshList(list: ArrayList<DeviceData>, choose: Int){if (choose==0){data.clear()}data.addAll(list)notifyDataSetChanged()}class ItemViewHolder(val itemBind: ItemDeviceListBinding,view: View): RecyclerView.ViewHolder(view){fun bind(bean: DeviceData){itemBind.deviceData = bean}}
}

 4.分隔线

import android.graphics.Rect
import android.view.View
import androidx.recyclerview.widget.RecyclerView
//分隔线
class GridSpacingItemDecoration(private val spanCount: Int,private val spacing: Int,private val includeEdge: Boolean
) : RecyclerView.ItemDecoration() {override fun getItemOffsets(outRect: Rect,view: View,parent: RecyclerView,state: RecyclerView.State) {val position = parent.getChildAdapterPosition(view)val column = position % spanCountif (includeEdge) {outRect.left = spacing - column * spacing / spanCountoutRect.right = (column + 1) * spacing / spanCountif (position < spanCount) {outRect.top = spacing}outRect.bottom = spacing} else {outRect.left = column * spacing / spanCountoutRect.right = spacing - (column + 1) * spacing / spanCountif (position >= spanCount) {outRect.top = spacing}}}
}

 5.使用

var adapter = DeviceListAdapter(requireContext(),dataList){println("点击事件")
}
val rv_list: RecyclerView = findViewById(R.id.rv_list)
rv_list.layoutManager = GridLayoutManager(context, 2)//数据两列显示
rv_list.addItemDecoration(GridSpacingItemDecoration(2, 10, true))//数据间分隔线
rv_list.adapter = adapter

关键字:html静态网页源代码_网页设计师简历模板_腾讯新闻潍坊疫情_许昌网络推广公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: