1.我先創(chuàng)建了一個listview的包

2.然后創(chuàng)建手動創(chuàng)建一個類(class),activity本身就是一個類,然后在創(chuàng)建的ListViewActivity里面實(shí)現(xiàn)相關(guān)聯(lián)的layout的方法,首先是先創(chuàng)建一個activity_listview的layout,然后在 ListViewActivity里面實(shí)現(xiàn)一下方法

3.手動創(chuàng)建的class 要在AndroidManifest.xml里面實(shí)現(xiàn)他的存在比如這個我寫的demo,他的listviewActivity是存在于listView包下的,所以他的實(shí)現(xiàn)的方法如下:

4.在創(chuàng)建的activity_listview的layout里面布局ListView控件

然后在activity_listview 實(shí)現(xiàn)這個ListView的對象

5.創(chuàng)建ListViewAdapter(適配器,相當(dāng)于iOS里面的TableViewController),并創(chuàng)建layout_list_item.xml(自定義item的布局文件,相當(dāng)于iOS里面的自定義cell)
//以下是ListViewAdapter適配器里面的代碼
package com.example.swkj.listviewselftest.listView;
import android.content.Context;
import android.view.LayoutInflater;
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;
import com.example.swkj.listviewselftest.R;
/**
* Created by swkj on 2017/9/19.
*/
public class ListViewAdapter extends BaseAdapter {
private Context mContext;
private LayoutInflater mLayoutInflater;
ListViewAdapter(Context context){
this.mContext = context;
this.mLayoutInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return 10;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
static class ViewHolder{
public ImageView imageView;
public TextView mTv_1,mTv_2,mTv_3;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder viewHolder = null;
if(view == null) {
view = mLayoutInflater.inflate(R.layout.layout_list_item,null);
viewHolder = new ViewHolder();
viewHolder.imageView = view.findViewById(R.id.iv);
viewHolder.mTv_1 = view.findViewById(R.id.tv_1);
viewHolder.mTv_2 = view.findViewById(R.id.tv_2);
viewHolder.mTv_3 = view.findViewById(R.id.tv_3);
view.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) view.getTag();
}
//下面是控件賦值過程
viewHolder.mTv_1.setText("這是標(biāo)題");
viewHolder.mTv_2.setText("2017/10/1 9:30");
viewHolder.mTv_3.setText("薩達(dá)姆被美國捉住,被處以絞刑");
Glide.with(mContext).load("https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png").into(viewHolder.imageView);
notifyDataSetChanged();
return view;
}
}
//附上layout_list_item.xml demo里面的布局

6.回到activity_listview,實(shí)現(xiàn)它的Adapter的相應(yīng)方法

最后 如果要加載網(wǎng)絡(luò)數(shù)據(jù)的話,比如ImageView控件加載的是網(wǎng)絡(luò)圖片,記得開網(wǎng)關(guān)
P.S:安卓開網(wǎng)關(guān)的方法
在AndroidManifest.xml里面寫上
<uses-permission android:name="android.permission.INTERNET"/>