前面的两篇博文讲的ListView的实现,首先要拿到布局文件中的ListView,然后为其添加适配器,写一个内部类继承BaseAdapter,然后重写里面的getCount和getView方法,其实在android内部,google工程师已经写好了某些类已继承BaseAdapter,这样我们就可以直接new出ArrayAdapter和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可以实现动态修改布局文件显示的内容:
相关推荐
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items); ListView listView = findViewById(R.id.list_view); listView.setAdapter(adapter); ``` 接下来是...
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items); listView.setAdapter(adapter); ``` **SimpleAdapter** SimpleAdapter相比ArrayAdapter更灵活,它允许...
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items); ListView listView = findViewById(R.id.list_view); listView.setAdapter(adapter); ``` 2. **...
ArrayAdapter<String> adapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, dataList); ``` 2. 数据绑定:ArrayAdapter会自动将数据集中的每个元素与列表项布局的TextView进行绑定,通常在...
ListView控件是最常用的控件之一,ListView的经常使用ArrayAdapter和SimpleAdapter来加载数据源。ArrayAdapter(数组适配器)用作展现简单的纯文字列表;SimpleAdapter(简单适配器)可以用来展现图文并茂的列表,...
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, listData) { @Override public View getView(int position, View convertView, ViewGroup parent) {...
List<Map<String, String>> data = new ArrayList<>(); data.add(...); // 添加多个Map对象,每个Map表示一个列表项 ``` 2. **定义数据结构**:创建一个字符串数组,列出Map中的键,这些键将对应于自定义布局中的...
- 初始化ArrayAdapter:`ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList);` - 设置ListView的Adapter:`listView.setAdapter(adapter);` 3. **...
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList); ``` 3. **设置ListView**:将Adapter设置到ListView上,让ListView知道如何展示数据。 ```java ...
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items); ListView listView = findViewById(R.id.listView); listView.setAdapter(adapter); ``` 接下来,我们...
ArrayAdapter和simpleAdapter的回顾,好长时间都没有写android了,今天出来溜溜,这个写的是最初的功能。 就是listview。simpleAdapter是左图片右文本、 这个适合初学者玩下。
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items); // 设置适配器 listView.setAdapter(adapter); // 添加点击事件监听器 listView.setOnItemClickListener...
例如,你可以创建一个ArrayList<String>,然后用ArrayAdapter来填充ListView。 2. **定义视图**: 在res/layout目录下创建一个新的XML布局文件,定义ListView项的外观。这可能包含一个或多个View,如TextView、...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。在许多应用中,我们希望用户能够通过输入关键词在ListView中进行搜索,实现这一功能的关键是结合EditText和ListView。本教程将详细介绍如何...
List<Item> dataList = new ArrayList<>(); // 填充数据 ArrayAdapter<Item> adapter = new SimpleAdapter( this, dataList, R.layout.list_item, new String[]{"title", "description"}, new int[]{R.id....
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, getData())); ``` 4. **Adapter的使用步骤** - 创建数据源:这可能是数组、ArrayList或者其他集合类型,...
ArrayList<String> items = new ArrayList<>(); // 数据源 MyAdapter adapter = new MyAdapter(this, R.layout.list_item, items); listView.setAdapter(adapter); ``` 这里的R.layout.list_item是每个列表项的布局...
这个压缩包文件“安卓Android源码——(列表之SimpleAdapter适配).zip”显然是提供了一个关于如何使用`SimpleAdapter`进行数据展示的实例代码。下面我们将深入探讨`SimpleAdapter`的工作原理和使用方法。 1. **...