Android Kotlin 开发--初体验Demo
来源:互联网 发布:网络写手已成高危职业 编辑:程序博客网 时间:2024/06/06 05:54
1. 先上效果图
2. 配置
配置就省了,网上有很多配置的博客,我也有一篇专门讲as如何配置的博客Kotlin初体验
3.代码部分
Main2Activity.kt
package com.example.kotlinimport android.os.Bundleimport android.support.v7.app.AppCompatActivityimport android.support.v7.widget.LinearLayoutManagerimport android.view.Viewimport android.widget.Toastimport kotlinx.android.synthetic.main.activity_main2.*class Main2Activity : AppCompatActivity(), OnItemClick { private var data = ArrayList<String>() private var adapter: MyAdapter? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main2) adapter = MyAdapter() adapter!!.add(getData()) val manager = LinearLayoutManager(application) recyclerView.layoutManager = manager recyclerView.adapter = adapter adapter!!.setItemClick(this) } fun getData(): List<String> { for (i in 1..100) { data!!.add("我是标题" + i) } return data } override fun onItemClick(view: View, postion: Int) { Toast.makeText(applicationContext, "我是第" + postion + "个", Toast.LENGTH_SHORT).show() }}
MyHolder.kt
package com.example.kotlinimport android.support.v7.widget.RecyclerViewimport android.util.SparseArrayimport android.view.Viewimport android.widget.TextView/** * 作者:Tangren on 2017/5/22 12:46 * 邮箱:wu_tangren@163.com * TODO:一句话描述 */class MyHolder(itemView: View, click: OnItemClick) : RecyclerView.ViewHolder(itemView), View.OnClickListener { var textView: TextView private var click: OnItemClick? = null init { textView = itemView.findViewOften(R.id.textView) this.click = click itemView.setOnClickListener(this) } fun <T : View> View.findViewOften(viewId: Int): T { var viewHolder: SparseArray<View> = tag as? SparseArray<View> ?: SparseArray() tag = viewHolder var childView: View? = viewHolder.get(viewId) if (null == childView) { childView = findViewById(viewId) viewHolder.put(viewId, childView) } return childView as T } override fun onClick(v: View?) { if (v != null) { click!!.onItemClick(v, adapterPosition) } }}
MyAdapter.kt
package com.example.kotlinimport android.support.v7.widget.RecyclerViewimport android.view.LayoutInflaterimport android.view.ViewGroup/** * 作者:Tangren on 2017/5/22 12:45 * 邮箱:wu_tangren@163.com * TODO:一句话描述 */class MyAdapter : RecyclerView.Adapter<MyHolder>() { var list: List<String> = ArrayList<String>() var click: OnItemClick? = null fun add(list: List<String>) { this.list = list } override fun onBindViewHolder(holder: MyHolder?, position: Int) { holder!!.textView.setText(list!!.get(position)) } override fun getItemCount(): Int { return list!!.size } override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): MyHolder { val view = LayoutInflater.from(parent!!.getContext()).inflate(R.layout.item_holder_view, parent, false) val holder = MyHolder(view, click!!) return holder } fun setItemClick(click: OnItemClick) { this.click = click }}
OnItemClick.kt
package com.example.kotlinimport android.view.View/** * 作者:Tangren on 2017/5/22 15:08 * 邮箱:wu_tangren@163.com * TODO:一句话描述 */interface OnItemClick { fun onItemClick(view: View, postion: Int)}
3.总结
Demo相对简单,但是主要是体会精神,简洁的无可挑剔!
项目下载地址
阅读全文
0 0
- Android Kotlin 开发--初体验Demo
- 使用Kotlin开发Android应用初体验
- Android使用kotlin开发初体验
- 使用Kotlin开发Android应用初体验
- 使用Kotlin开发Android应用初体验
- Android Kotlin初体验
- Android Kotlin 初体验
- Android Kotlin初体验
- Android Kotlin初体验
- Kotlin初体验:一个简单了解Kotlin的Demo
- Kotlin 为何能成为 Android 官方支持开发语言及Kotlin开发Android应用初体验
- Android Studio 3.0使用Kotlin开发初体验
- Android使用Kotlin初体验
- #Android开发之kotlin实现(体验)
- Kotlin For Android初体验——配置Kotlin
- 使用Kotlin优雅的开发Android应用,附demo
- android新开发语言Kotlin的入手Demo
- Kotlin初体验
- 初学kotlin记录
- cordova 创建项目
- 细说Wannacry勒索软件所使用的木马技术
- stm32_FSMC注意事项
- 安卓发布代码到 JCenter
- Android Kotlin 开发--初体验Demo
- 最长递增子序列(longest increasing subsequence) 问题详解
- 算法练习
- kettle安装
- MySQL高级 之 order by、group by 优化
- 海量处理用户日志(一)
- Comparing Hadoop, Spark, and Storm
- 软件设计目标—健壮性
- Oracle12C--索引表(三十二)