安卓 3.0 kotlin的recyclerviewc的

来源:互联网 发布:淘宝十大创意网店 编辑:程序博客网 时间:2024/06/03 18:40


布局样式 

<?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="match_parent"    android:orientation="vertical">    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content">    </LinearLayout>    <ImageView        android:id="@+id/imageview"        android:layout_width="match_parent"        android:layout_height="100dp"        android:layout_gravity="center"        android:layout_marginTop="60dp"        android:src="@mipmap/ic_launcher" />    <Button        android:id="@+id/jion"        android:layout_marginTop="20dp"        android:background="@color/colorPrimary"        android:layout_marginLeft="20dp"        android:layout_marginRight="20dp"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="登陆"        android:textSize="20sp"        />    <android.support.v7.widget.RecyclerView        android:layout_marginTop="10dp"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/lvlist"        /></LinearLayout>

item的布局样式

<?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="match_parent"    android:orientation="horizontal">    <TextView        android:layout_marginTop="10dp"        android:text="22222222222222222"        android:id="@+id/name"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <TextView        android:layout_marginLeft="20dp"        android:layout_marginTop="10dp"        android:text="22222222222222222"        android:id="@+id/id"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></LinearLayout>

bean类的写法

class Student {    var name: String? = null    var id: String? = null    constructor(name: String?, id: String?) {        this.name = name        this.id = id    }}

recyclerview的adapter实现方式

package com.pax.cn.kotlionimport android.content.Contextimport android.support.v7.widget.RecyclerViewimport android.support.v7.widget.RecyclerView.Adapterimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport android.widget.TextViewimport com.pax.cn.kotlion.RecyleAdapter.MyViewholder/** * 作者:Created by tang on 2017/6/20/020 16:02 */class RecyleAdapter : Adapter<MyViewholder> {    private var context: Context? = null    private var itemList: ArrayList<Student>? = null    constructor(itemList: ArrayList<Student>, context: Context) {        this.context = context        this.itemList = itemList    }    override fun onBindViewHolder(p0: MyViewholder?, p1: Int) {        p0!!.name.text = itemList!!.get(p1).name        p0.id.text = itemList!!.get(p1).id    }    override fun getItemCount(): Int {        return itemList?.size as Int    }    override fun onCreateViewHolder(p0: ViewGroup?, p1: Int): MyViewholder {        return MyViewholder(LayoutInflater.from(context).inflate(R.layout.item, p0, false))    }    class MyViewholder : RecyclerView.ViewHolder {        constructor(itemView: View?) : super(itemView) {            name = itemView?.findViewById(R.id.name) as TextView            id = itemView.findViewById(R.id.id) as TextView        }        var name: TextView        var id: TextView    }}

class MainActivity : AppCompatActivity() {    var itemList = ArrayList<Student>()    private var adapter :RecyleAdapter?=null//    var itemList = ArrayList<String>()//    private var adapter :TestAdapter?=null    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        inidata()       adapter = RecyleAdapter(itemList, this)        lvlist.layoutManager = LinearLayoutManager(this)//        adapter = TestAdapter(itemList, this)        jion.setOnClickListener({            //Toast.makeText(this,"进入" ,Toast.LENGTH_SHORT).show()           lvlist.adapter =adapter        })    }    fun inidata() {        var i: Int = 0        var end: Int = 10        while (i < end) {            var student=Student("名字"+i,"学号"+i)            itemList.add(student)//            itemList.add(""+i)            i++        }    }}
效果图


原创粉丝点击