专业的编程技术博客社区

网站首页 > 博客文章 正文

android studion 使用kotlin操作ListView代码量的减少

baijin 2024-09-10 11:00:00 博客文章 6 ℃ 0 评论

制作android app 最常用的就是ListView,使用java操作的例程网上很多,对比看看使用kotlin编写时代码量的减少程度

1、array listView

代码如下

val mes ="diao#lou#test"

var strlist = mes.split("#")

var arr_aAdapter: ArrayAdapter<String>? = null

arr_aAdapter = ArrayAdapter(this, android.R.layout.simple_selectable_list_item, strlist)

listview1.setAdapter(arr_aAdapter)

2、SimpleAdapter

代码如下

var sim_aAdapter : SimpleAdapter

var dataList = ArrayList<Map<String,Any>>()

for (i in 0..29) {

var map = HashMap<String,Any>()//HashMap

map.put("pic0",R.mipmap.ic_ssball)

map.put("text0", "list message"+i)

dataList.add(map)

}

sim_aAdapter = SimpleAdapter(this, dataList, R.layout.item1, arrayOf("pic0", "text0"), intArrayOf(R.id.pic0, R.id.text0))

listview1.setAdapter(sim_aAdapter)

3、CustomListAdapter

代码如下

类定义

inner class CustomListAdapter(private val context: Activity, private val itemname: Array<String>, private val imgid: Array<Int>)

: ArrayAdapter<String>(context, R.layout.item, itemname) {

override fun getView(position: Int, view: View?, parent: ViewGroup): View {

val inflater = context.layoutInflater

val rowView = inflater.inflate(R.layout.item, null, true)

val txtTitle = rowView.findViewById(R.id.tv) as TextView

val imageView = rowView.findViewById(R.id.img) as ImageView

val extratxt = rowView.findViewById(R.id.info) as TextView

txtTitle.text = itemname[position]

imageView.setImageResource(imgid[position])

extratxt.text = "Description " + itemname[position]

return rowView

}

}

使用代码

var itemname = arrayOf("Safari", "Camera")

var imgid = arrayOf<Int>(R.mipmap.ic_ssball, R.mipmap.ic_title)

val adapter = CustomListAdapter(this, itemname, imgid)

listview1.setAdapter(adapter)

这里省去xml布局文件代码,布局文件的代码量没有变化。再看看响应消息代码

listview1.setOnItemClickListener(OnItemClickListener { parent, view, position, id ->

val Slecteditem = itemname[+position]

Toast.makeText(applicationContext, Slecteditem, Toast.LENGTH_SHORT).show()

})

kotlin带来了代码量的减少,也提供了java代码自动转换成kotlin的方法,但语法的不熟悉使得处理拷贝来的java代码资源还是有些费时费力,你会开始尝试kotlin吗?

盛铭逸品,精致生活从选择开始

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表