1)ArrayAdapter使用示例:

运行效果图:

代码实现:

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//要显示的数据String[] strs = {"基神","B神","翔神","曹神","J神"};//创建ArrayAdapterArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,strs);//获取ListView对象,通过调用setAdapter方法为ListView设置Adapter设置适配器ListView list_test = (ListView) findViewById(R.id.list_test);list_test.setAdapter(adapter);}
}

一些相关的东西:

1.除了通过数组外,我们还可以写到一个数组资源文件中:

比如:在res\valuse下创建一个数组资源的xml文件:arrays.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>  <string-array name="myarray">  <item>语文</item>  <item>数学</item>  <item>英语</item>  </string-array>
</resources>

接着布局的listview属性设置下这个列表项:

<ListView  android:id="@id/list_test"  android:layout_height="match_parent"  android:layout_width="match_parent"   android:entries="@array/myarray"/>

就可以了~

当然我们也可以在Java代码中这样写:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.myarray,android.R.layout.simple_list_item_multiple_choice );

同样也是可以的!

2.一开始也说了这个ArrayAdapter支持泛型,那么集合必不可少啦,比如,这样写:

List<String> data = new ArrayList<String>();
data.add("基神");
data.add("B神");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,data);

就可以了~

3.我们看到了在实例化ArrayAdapter的第二个参数: android.R.layout.simple_expandable_list_item_1 其实这些是系统给我们提供好的一些ListView模板,有下面几种:

simple_list_item_1 : 单独一行的文本框  simple_list_item_2 : 两个文本框组成  simple_list_item_checked : 每项都是由一个已选中的列表项  simple_list_item_multiple_choice : 都带有一个复选框  simple_list_item_single_choice : 都带有一个单选钮 


2)SimpleAdapter使用示例:

SimpleAdapter:简单的Adapter,看似简单,功能强大,下面我们来写个稍微复杂一点的列表 布局吧!

运行效果图:

代码实现:

先来编写一个列表项目每一项的布局:

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><!-- 定义一个用于显示头像的ImageView --><ImageViewandroid:id="@+id/imgtou"android:layout_width="64dp"android:layout_height="64dp"android:baselineAlignBottom="true"android:paddingLeft="8dp" /><!-- 定义一个竖直方向的LinearLayout,把QQ呢称与说说的文本框设置出来 --><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:id="@+id/name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingLeft="8dp"android:textColor="#1D1D1C"android:textSize="20sp" /><TextViewandroid:id="@+id/says"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingLeft="8px"android:textColor="#B4B4B9"android:textSize="14sp" /></LinearLayout></LinearLayout>

接下来是MainActivity.java:

public class MainActivity extends AppCompatActivity {private String[] names = new String[]{"B神", "基神", "曹神"};private String[] says = new String[]{"无形被黑,最为致命", "大神好厉害~", "我将带头日狗~"};private int[] imgIds = new int[]{R.mipmap.head_icon1, R.mipmap.head_icon2, R.mipmap.head_icon3};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);List<Map<String, Object>> listitem = new ArrayList<Map<String, Object>>();for (int i = 0; i < names.length; i++) {Map<String, Object> showitem = new HashMap<String, Object>();showitem.put("touxiang", imgIds[i]);showitem.put("name", names[i]);showitem.put("says", says[i]);listitem.add(showitem);}//创建一个simpleAdapterSimpleAdapter myAdapter = new SimpleAdapter(getApplicationContext(), listitem, R.layout.list_item, new String[]{"touxiang", "name", "says"}, new int[]{R.id.imgtou, R.id.name, R.id.says});ListView listView = (ListView) findViewById(R.id.list_test);listView.setAdapter(myAdapter);}
}

好的,上面就是SimpleAdapter的简单用法了,有点意思~


3)SimpleCursorAdapter使用示例:

虽然这东西过时了,不过对于不怎么会SQLite的初学者来说,用起来还是蛮方便的! 记得前面我们学ContentProivder写过的读取联系人的例子么?之前是通过打印Log的 方式显示出来,现在我们通过这个SimpleCursorAdapter把它显示到ListView上!

实现效果图:

代码实现:

先写下listView每个item的布局:

list_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"><TextViewandroid:id="@+id/list_name"android:layout_width="0dp"android:layout_height="64dp"android:layout_weight="1"android:gravity="center"android:text="小猪"android:textColor="#0000FF"android:textSize="18sp" /><TextViewandroid:id="@+id/list_phone"android:layout_width="0dp"android:layout_height="64dp"android:layout_weight="1"android:gravity="center"android:text="13798989898"android:textColor="#EA5C4D"android:textSize="18sp" /></LinearLayout>

接着activity_main布局和前面的一样,就是简单的ListView,然后是

MainActivity.java:

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView list_test = (ListView) findViewById(R.id.list_test);//读取联系人Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);SimpleCursorAdapter spcAdapter = new SimpleCursorAdapter(this,R.layout.list_item,cursor,new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER},new int[]{R.id.list_name,R.id.list_phone});list_test.setAdapter(spcAdapter);}
}

最后AndroidManifest.xml里加个读联系人的权限就可以了!

<uses-permission android:name="android.permission.READ_CONTACTS"/>

ArrayAdapter使用示例相关推荐

  1. java arrayadapter_Android之ArrayAdapter详解

    BaseAdapter之ArrayAdapter ArrayAdapter是BaseAdapter的一个具体实现,可直接使用泛型进行构造,能像List一样直接对Adapter进行增删操作.也是最简单的 ...

  2. android学习笔记----ListView和各种适配器简介

    学习笔记 目录 打气筒(LayoutInflater对象)介绍: ArrayAdapter用法: 关于具有自定义 ArrayAdapter 的示例应用见这里: SimpleAdapter用法: 关于L ...

  3. Android Listview ArrayAdapter示例

    ListView 的使用大致上可以分为四个步骤:添加 ListView 组件.存储数据.设置列表项item的布局文件.加载数据/资源进行显示.添加监听. 这篇文章主要讲一下最简单的ArrayAdapt ...

  4. SoundPool 音频播放 详解 示例

    demo地址:https://github.com/baiqiantao/PermissionTest.git 官方文档 文档位置:https://developer.android.google.c ...

  5. Android零基础入门第40节:自定义ArrayAdapter

    原文:Android零基础入门第40节:自定义ArrayAdapter ListView用起来还是比较简单的,也是Android应用程序中最重要的一个组件,但其他ListView可以随你所愿,能够完成 ...

  6. android设置列表id,学习Android绑定列表的时候提示:You must supply a resource ID for a TextView,有完整示例代码...

    这个是代码,我都是照着示例做的,但还是不行,查了一天了,到底是哪里出问题呢 万分感谢 package cn.com.ava.lesson4_fancy_view; import android.con ...

  7. Android用户界面程序设计示例

    [例1]按钮和Toast弹出对话框    1 [例2] TextView文本框 (1)    3 [例3]TextView文本框 (2)    4 [例4]编辑框EditText    4 [例5]单 ...

  8. 传感器 Sensor 加速度【示例】

    简介 坐标系 x轴:从左到右 y轴:从下到上 z轴:从内到外 这个坐标系与Android 2D API中的不同,传感器中的返回值都以此坐标系为准. SENSOR_TYPE_ACCELEROMETER  ...

  9. 【Android UI设计与开发】9:滑动菜单栏(一)开源项目SlidingMenu的使用和示例-转...

    一.SlidingMenu简介 相信大家对SlidingMenu都不陌生了,它是一种比较新的设置界面或配置界面的效果,在主界面左滑或者右滑出现设置界面效果,能方便的进行各种操作.很多优秀的应用都采用了 ...

最新文章

  1. IDEA配置GitHub和Gitee
  2. 华为即将发布AI新品,发力“深度学习”
  3. vrp车辆路径问题 php,蚁群算法在车辆路径问题(VRP)中的应用.ppt
  4. Objective-C语法简化
  5. Centos下重要日志文件及查看方式
  6. JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】
  7. drf4 视图与路由组件
  8. 【matlab】设定C++编译器
  9. [luoguP2801] 教主的魔法(二分 + 分块)
  10. Object型转list,jsonObject型转list方法,亲测可用
  11. Python、Go、JavaScript、Rust 将长盛 5 年!
  12. 描述C,C++编译和链接过程
  13. Excel·VBA自定义函数扩展VLOOKUP
  14. java jre安装_JRE安装与配置图文教程
  15. pynq z1+ov5640
  16. 工业机器人pallet指令_工业机器人编程指令详解
  17. 【SD自动记账】SD与FI的集成部分
  18. Codeforces Round #521 (Div. 3) E. Thematic Contests(思维)
  19. 微信支付分免密支付接口服务如何开通?
  20. C++学习日记#2——幂法求矩阵的主特征值

热门文章

  1. 榕树下的诗《从春天开始》
  2. 分享:文件加密-闪灵文件夹锁如何快速加密大数据文件
  3. 使用Drawable绘制圆角矩形
  4. 简单使用使用Example类
  5. python批量实现模板匹配处理,并将图片进行标记和裁剪保存
  6. 华为云CDN节点扩增力度加大,构建全球智能边缘网络
  7. 静态IP是什么意思?和动态IP 有什么区别
  8. 利用DNS隧道免费上网
  9. 使用freemarker模板生成带图片的word--html格式
  10. Python遥感图像处理--开篇