Kotlin已经是谷歌推荐的安卓语言了,最近也在学习,做了一个listview的Demo
代码如下:
class MainActivity : AppCompatActivity() ,AdapterView.OnItemClickListener{ override fun onItemClick(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { Toast.makeText(this,"点击了$position",Toast.LENGTH_SHORT).show() } val datas :ArrayList<String> = arrayListOf("第一","第二","第三","第四","第五") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var adapter: DemoAdapter= DemoAdapter(datas,this) lv_demo.adapter =adapter lv_demo.onItemClickListener=this lv_demo.dividerHeight=2 } }
Adapter中的代码如下:
class DemoAdapter(var mList: List<String>, var context: Context) : BaseAdapter() { override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { var holder:ViewHolder var view :View if (convertView==null){ holder= ViewHolder() view=LayoutInflater.from(context).inflate(R.layout.item_deme,null, false) holder.textView=view.findViewById(R.id.item_tv) as TextView view.tag=holder }else{ view = convertView //获取tag并强转 holder = view.tag as ViewHolder } holder.textView.text=mList[position] return view } override fun getItem(position: Int): Any { return mList[position] } override fun getItemId(position: Int): Long { return position .toLong() } override fun getCount(): Int { return mList.size } class ViewHolder{ lateinit var textView: TextView } }
这样简单的listview的代码就写好了,运行效果如下: