1. xml佈局文件 聲明listview的控件
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lv" />
2. 在代碼裏面查找listview
findViewById(R.id.lv);
3. 設置listview的數據適配器
lv.setAdapter(new MyAdapter());
4. 編寫數據適配器
private class MyAdapter extends BaseAdapter{
public int getCount() {
return ...;//告訴listview裏面有多少條數據
}
public View getView(int position, View convertView, ViewGroup parent) {
return ...;//返回每個位置顯示的view是什麼樣子的。
}
}
##常見的數據適配器
* ArrayAdapter 數組適配器
列子
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView lv = (ListView) findViewById(R.id.lv);
//給listView設置數據
lv.setAdapter(new BaseAdapter() {
//創建條目
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView tv = new TextView(getApplicationContext());//創建一個TextView
tv.setText("我是中國人,我喜歡日本人:"+position);
tv.setTextSize(25);
//隔行變色
if(position %2 == 0){
tv.setTextColor(Color.RED);
}else{
tv.setTextColor(Color.YELLOW);
}
return tv;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public Object getItem(int position) {
return null;
}
//條目的數量
@Override
public int getCount() {
return 30;
}
});
}
}