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