安卓 3.0 kotlin的recyclerviewc的


布局样式 

xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

            android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    

            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" />
    

item的布局样式

xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

            android:layout_marginTop="10dp"
        android:text="22222222222222222"
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

            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" />

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.kotlion

import android.content.Context
import android.support.v7.widget.RecyclerView
import android.support.v7.widget.RecyclerView.Adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import com.pax.cn.kotlion.RecyleAdapter.MyViewholder

/**
 * 作者:Created by tang on 2017/6/20/020 16:02
 */

class RecyleAdapter : Adapter {
    private var context: Context? = null
    private var itemList: ArrayList? = null

    constructor(itemList: ArrayList, 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()
    private var adapter :RecyleAdapter?=null
//    var itemList = ArrayList()
//    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++
        }
    }

}
效果图


你可能感兴趣的:(安卓 3.0 kotlin的recyclerviewc的)