学习Kotiln

Kt展示ListView条目

class TwoDayActivity : Activity() {
    /**
     * 1.in表示区间-------i in 1..100表示1到一百  再举例子 1 in 0.. 100, 表示 1是不是0到100区间,放到输出语句中,很显然会输出true
     * 2.step步长值
     * 例子:
        for (index in 1..100 step 2){
            print(index)//会输出1..3..5......
         }
     * 3.readText()是kotlin为一些IO操作类提供的拓展方法,方便读取IO内容
     */
    //数据源
    var datas = ArrayList<String>()
    var demoAdapter: DemoAdapter? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_two_day)
        val str: String = "https://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1"
        initData()

        demoAdapter = DemoAdapter(this, datas)
        lv_demo.adapter = demoAdapter
        lv_demo.setOnItemClickListener { parent, view, position, id ->
            toast(datas[position])
        }
        Thread {
            var request = URL(str).readText()
            //val contents = File("pathname").readText()
            LogUtils.e(request)
        }.start()

    }

    fun initData() {
        for (i in 1..100 step 1) {
            datas.add("我是数据" + i)
        }
    }
}
class DemoAdapter(var context: Context, var datas: ArrayList<String>) : BaseAdapter() {
    override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
        var demoHolder: DemoHolder? = null
        var view: View? = null
        if (convertView == null) {
            demoHolder = DemoHolder()
            view = LayoutInflater.from(context).inflate(R.layout.item_demo, null)
            demoHolder.tv = view.findViewById(R.id.itemtv)
            view.tag = demoHolder
        } else {
            view = convertView
            demoHolder = view.tag as DemoHolder
        }
        demoHolder.tv.text = datas[position]
        return view!!
    }

    override fun getItem(position: Int): Any {
        return datas[position]
    }

    override fun getItemId(position: Int): Long {
        return position.toLong()
    }

    override fun getCount(): Int {
        return datas.size
    }

    inner class DemoHolder {
        lateinit var tv: TextView
    }
}

LogUtil

object LogUtils {
    private val isDebug: Boolean = true
    private val TAG: String = "我爱打log"

    /**
     *包装log.d日志
     */
    fun d(msg: String) {
        if (isDebug) {
            Log.d(TAG, msg)
        }
    }

    /**
     *包装log.e日志
     */
    fun e(msg: String) {
        if (isDebug) {
            Log.e(TAG, msg)
        }
    }

    /**
     * v类型的log.v日志
     */
    fun v(msg: String) {
        if (isDebug) {
            Log.v(TAG, msg)
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值