`
AaronGo
  • 浏览: 28830 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Android之ListView<3>ArrayAdapter,SimpleAdapter

阅读更多

        前面的两篇博文讲的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可以实现动态修改布局文件显示的内容:



 

 

 

  • 大小: 48.8 KB
  • 大小: 24.8 KB
分享到:
评论

相关推荐

    android ListView及ArrayAdapter,SimpleCursorAdapter,SimpleAdapter用法示例

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_1, items); ListView listView = findViewById(R.id.list_view); listView.setAdapter(adapter); ``` 接下来是...

    Android中ListView常用的两种适配器ArrayAdapter和SimpleAdapter使用

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_1, items); listView.setAdapter(adapter); ``` **SimpleAdapter** SimpleAdapter相比ArrayAdapter更灵活,它允许...

    ListView 与ArrayAdapter,BaseAdapter,SimpleAdapter,SimpleCursorAdapter配合使用实例。

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_1, items); ListView listView = findViewById(R.id.list_view); listView.setAdapter(adapter); ``` 2. **...

    ArrayAdapter和SimpleAdapter使用

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(context, android.R.layout.simple_list_item_1, dataList); ``` 2. 数据绑定:ArrayAdapter会自动将数据集中的每个元素与列表项布局的TextView进行绑定,通常在...

    使用ArrayAdapter和SimpleAdapter

    ListView控件是最常用的控件之一,ListView的经常使用ArrayAdapter和SimpleAdapter来加载数据源。ArrayAdapter(数组适配器)用作展现简单的纯文字列表;SimpleAdapter(简单适配器)可以用来展现图文并茂的列表,...

    android多选ListView示例

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_checked, listData) { @Override public View getView(int position, View convertView, ViewGroup parent) {...

    android ListView简单实例

    List&lt;Map&lt;String, String&gt;&gt; data = new ArrayList&lt;&gt;(); data.add(...); // 添加多个Map对象,每个Map表示一个列表项 ``` 2. **定义数据结构**:创建一个字符串数组,列出Map中的键,这些键将对应于自定义布局中的...

    Android中ListView的用法

    - 初始化ArrayAdapter:`ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_1, dataList);` - 设置ListView的Adapter:`listView.setAdapter(adapter);` 3. **...

    Android review listview 显示 单击事件

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_1, dataList); ``` 3. **设置ListView**:将Adapter设置到ListView上,让ListView知道如何展示数据。 ```java ...

    Android ListView长按删除

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_1, items); ListView listView = findViewById(R.id.listView); listView.setAdapter(adapter); ``` 接下来,我们...

    ArrayAdapter和simpleAdapter回顾

    ArrayAdapter和simpleAdapter的回顾,好长时间都没有写android了,今天出来溜溜,这个写的是最初的功能。 就是listview。simpleAdapter是左图片右文本、 这个适合初学者玩下。

    Android 根据EditText搜索框 ListView动态显示数据

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。在许多应用中,我们希望用户能够通过输入关键词在ListView中进行搜索,实现这一功能的关键是结合EditText和ListView。本教程将详细介绍如何...

    android中一个简单的LIstView用法例子

    ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;&gt;(this, android.R.layout.simple_list_item_1, items); // 设置适配器 listView.setAdapter(adapter); // 添加点击事件监听器 listView.setOnItemClickListener...

    Android中ListView+Adapter

    例如,你可以创建一个ArrayList&lt;String&gt;,然后用ArrayAdapter来填充ListView。 2. **定义视图**: 在res/layout目录下创建一个新的XML布局文件,定义ListView项的外观。这可能包含一个或多个View,如TextView、...

    android ListViewSimpleAdapter

    List&lt;Item&gt; dataList = new ArrayList&lt;&gt;(); // 填充数据 ArrayAdapter&lt;Item&gt; adapter = new SimpleAdapter( this, dataList, R.layout.list_item, new String[]{"title", "description"}, new int[]{R.id....

    Android listview与adapter用法

    listView.setAdapter(new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_expandable_list_item_1, getData())); ``` 4. **Adapter的使用步骤** - 创建数据源:这可能是数组、ArrayList或者其他集合类型,...

    android listview

    ArrayList&lt;String&gt; items = new ArrayList&lt;&gt;(); // 数据源 MyAdapter adapter = new MyAdapter(this, R.layout.list_item, items); listView.setAdapter(adapter); ``` 这里的R.layout.list_item是每个列表项的布局...

    安卓Android源码——(列表之SimpleAdapter适配).zip

    这个压缩包文件“安卓Android源码——(列表之SimpleAdapter适配).zip”显然是提供了一个关于如何使用`SimpleAdapter`进行数据展示的实例代码。下面我们将深入探讨`SimpleAdapter`的工作原理和使用方法。 1. **...

Global site tag (gtag.js) - Google Analytics