简单。
不过因为我之前把ListView和ListActivity搞混了,弄的一塌糊涂,今天写一写就明白点。
先看一个简单的ListActivity
可以看到中间 用getListView()函数忽然弄出来个ListView,而不是用findViewById这种土办法。
也就是说通过这种adapter的方式写一个ListView,我们有事可以不需要提前写一个ListView放在xml中,系统会自己生成一个ListView来填充满这个activity。因为我们用的是arrayAdapter,用来把数组映射到一个队列上去,仅此而已。
由于系统生成的格式比较弱智,所以这种方法基本只合适写一些只显示简单文本的ListView。
格式复杂点的需要重写Adapter的getView,看看下面这个好了。
[url]http://wang-peng1.iteye.com/blog/578442[/url]
不过因为我之前把ListView和ListActivity搞混了,弄的一塌糊涂,今天写一写就明白点。
先看一个简单的ListActivity
public class HelloListView extends ListActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
}
可以看到中间 用getListView()函数忽然弄出来个ListView,而不是用findViewById这种土办法。
也就是说通过这种adapter的方式写一个ListView,我们有事可以不需要提前写一个ListView放在xml中,系统会自己生成一个ListView来填充满这个activity。因为我们用的是arrayAdapter,用来把数组映射到一个队列上去,仅此而已。
由于系统生成的格式比较弱智,所以这种方法基本只合适写一些只显示简单文本的ListView。
格式复杂点的需要重写Adapter的getView,看看下面这个好了。
[url]http://wang-peng1.iteye.com/blog/578442[/url]