Android之ListView详解ArrayAdapter
2013-08-20 09:43
337 查看
前面的两篇博文讲的ListView的实现,首先要拿到布局文件中的ListView,然后为其添加适配器,写一个内部类继承BaseAdapter,然后重写里面的getCount和getView方法,其实在android内部,google工程师已经写好了某些类已继承BaseAdapter,这样我们就可以直接new出ArrayAdapter和SimpleAdapter,选取不同的构造函数达到我们的要求。
ArrayAdapter的构造函数如下,其它的构造函数内部实现原理也都一样:
context:上下文
resource:布局列表项的layout文件
textViewResource:布局文件中要修改的TextView的id
objects:填充TextView的对象,一般情况下是String数组
由上构造函数可以看出ArrayAdapter的实现功能是比较单一的,它只能够修改布局文件中的TextView的某一个,对比较简单的布局用ArrayAdapter还是可以的,ArrayAdapter就像ListView<1>中在getView方法中直接new一个TextView对象,然后对其进行修饰是一样的,而在ListView<2>中,我们已经可以自己指定ListView显示的条目的结构与内容,google工程师同样用了一个简单的形式去实现这种功能,那就是SimpleAdapter。
SimpleAdapter的构造函数:
SimpleAdapter的构造韩函数只此一个
context:上下文
data:一个List集合,集合中的元素是Map对象
resource:布局文件
from、to:Map中的键和布局文件中的组建id一一对应
SimpleAdapter可以实现动态修改布局文件显示的内容:
ArrayAdapter的构造函数如下,其它的构造函数内部实现原理也都一样:
public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
context:上下文
resource:布局列表项的layout文件
textViewResource:布局文件中要修改的TextView的id
objects:填充TextView的对象,一般情况下是String数组
public class MainActivity extends Activity { public static String[] data = { "textView1", "textView2", "textView3", "textView4", "textView5", "textView6", "textView7", "textView8", "textView9" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView = (ListView)findViewById(R.id.listView); listView.setAdapter(new ArrayAdapter<String>( MainActivity.this, R.layout.show, R.id.textView, data)); } }
由上构造函数可以看出ArrayAdapter的实现功能是比较单一的,它只能够修改布局文件中的TextView的某一个,对比较简单的布局用ArrayAdapter还是可以的,ArrayAdapter就像ListView<1>中在getView方法中直接new一个TextView对象,然后对其进行修饰是一样的,而在ListView<2>中,我们已经可以自己指定ListView显示的条目的结构与内容,google工程师同样用了一个简单的形式去实现这种功能,那就是SimpleAdapter。
SimpleAdapter的构造函数:
public SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
SimpleAdapter的构造韩函数只此一个
context:上下文
data:一个List集合,集合中的元素是Map对象
resource:布局文件
from、to:Map中的键和布局文件中的组建id一一对应
SimpleAdapter可以实现动态修改布局文件显示的内容:
相关文章推荐
- Android的Listview详解1(ArrayAdapter方式)
- Android 中 ListAactivity 和Activity 使用ListView 以及ArrayAdapter和SimpleAdapter参数详解
- Android学习笔记(10)————Android的Listview详解1(ArrayAdapter方式)
- Android学习笔记(10)————Android的Listview详解1(ArrayAdapter方式) .
- android ListView详解
- android ListView详解
- android ListView详解(持续中。。。)
- android ListView详解
- Android 开发笔记四 ListView 中使用 ArrayAdapter 与 SimpleAdapter
- android ListView详解
- Android软件开发之ListView 详解
- Android UI系统控件进阶(一)之列表控件ListView详解
- android ListView详解
- Android PullToRefresh (ListView GridView 下拉刷新) 使用详解 Hongyang 转载
- android ListView详解
- android中OnScrollListener的详解(Listview分批加载用到)
- 详解Android应用中ListView列表选项栏的编写方法
- android ListView详解
- android 高级之旅 (六)ExpandableListView 使用详解
- 我的Android进阶之旅------>Android ListView 应用解析(使用ArrayAdapter,SimpleAdapter和SimpleCursorAdapter适配器)