//Activity类package day01.bw.com.mykotlinapplication
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.ListView
import org.json.JSONObject
import java.net.URL
classMainActivity:AppCompatActivity(){
var listView:ListView?= null
var list:ArrayList<Food>?=ArrayList()
override fun onCreate(savedInstanceState: Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)
listView =findViewById(R.id.listView)Thread(Runnable {
var readText:String =URL("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1").readText()
val jsonObject =JSONObject(readText)
val jsonArray = jsonObject.getJSONArray("data")for(i in 0..jsonArray.length()-1 step 1){
val jsonObject1 = jsonArray.getJSONObject(i)
val title = jsonObject1.getString("title")
val foos_str = jsonObject1.getString("food_str")
val pic = jsonObject1.getString("pic")
list?.add(Food(title,foos_str,pic))}}).start()
listView?.adapter=MyAdapter(this,list!!)}}
//自定义适配器实现BaseAdapterpackage day01.bw.com.mykotlinapplication
import android.content.Context
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.ImageView
import android.widget.TextView
import com.bumptech.glide.Glide
classMyAdapter(var context: Context,var arr:ArrayList<Food>):BaseAdapter(){
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
var vH:ViewHolder?=null
var view:View?=null
if(convertView==null){
view=View.inflate(context,R.layout.listview_item,null);
vH=ViewHolder();
vH.textView=view.findViewById(R.id.title)
vH.textView1=view.findViewById(R.id.food_str)
vH.imageView=view.findViewById(R.id.image)
view.tag=vH
}else{
view = convertView
vH = view.tag as ViewHolder
}
vH.textView?.text=arr.get(position).title
vH.textView1?.text=arr.get(position).food_str
Glide.with(context).load(arr.get(position).pic).into(vH.imageView)return view!!}
inner classViewHolder{
var textView:TextView?=null
var textView1:TextView?=null
var imageView:ImageView?=null
}
override fun getItem(position: Int): Any {return arr.get(position)}
override fun getItemId(position: Int): Long {return position.toLong()}
override fun getCount(): Int {return arr.size
}}
//Bean类package day01.bw.com.mykotlinapplication
classFood{constructor(title: String?, food_str: String?, pic: String?){this.title = title
this.food_str = food_str
this.pic = pic
}
var title:String?=null
var food_str:String?=null
var pic:String?=null
}