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)
}
}
}