ArrayAdapter六种构造方法的作用

ArrayAdapter<T>(Context context, int textViewResourceId);

上下文,布局文件

ArrayAdapter<T>(Context context, int resource, int textViewResourceId);

上下文。显示的视图。显示视图的组件

ArrayAdapter<T>(Context context, int textViewResourceId, List<T> objects)

上下文,显示的视图,数据资源(对象)

ArrayAdapter<T>(Context context,int textViewResourceId,T[] objects)

上下文,显示的视图,数据资源(数组)

ArrayAdapter<T>(Context context,int resource,int textViewResourceId, List<T> objects)

上下文,显示的视图,显示视图的组件,数据资源(数组)

ArrayAdapter<T>(Context context,int resource,int textViewResourceId, T[] objects)

上下文,显示的视图。显示视图的组件,数据资源(数组)

项目步骤

  1. 声明listView控件并获取显示的视图
  2. 获取显示的数据
  3. 设置显示的adapter
  4. 注冊点击事件

详细案例

实现效果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhemhpMjEyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

查找的方法

public List<String> findAllNames() {
List<String> names = new ArrayList<String>(); SQLiteDatabase db = dh.getWritableDatabase();
Cursor c = db.rawQuery("select username from users", null); while (c.moveToNext()) {
names.add(c.getString(c.getColumnIndex("username")));
}
db.close();
return names;
}

布局文件

同BaseAdapter的布局文件activity_main.xml

ArrayAdapter实现类(主程序)

package com.example.android_sqlite;

import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast; import com.example.android_sqlite.dao.impl.UserDaoImpls;
import com.example.android_sqlite.database.DatabaseHelper;
/**
* ArrayAdapter
* @author zhaoyazhi
*
*/
public class MainActivityss extends Activity implements OnItemClickListener {
private ListView lv_users;// 视图层 // model层 相关的对象的声明
private DatabaseHelper dh;
private UserDaoImpls userDao;
private List<String> names; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建数据库
dh = new DatabaseHelper(this);
// 获取显示数据 model
userDao = new UserDaoImpls(dh);
// 查询获取数据
names = userDao.findAllNames(); // 设置视图层
lv_users = (ListView) findViewById(R.id.lv_users); //參数1:上下文 參数2:显示的视图 參数3:数据资源
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_expandable_list_item_1,names); // adapter作为控制层
lv_users.setAdapter(adapter); // 注冊点击事件
lv_users.setOnItemClickListener(this); } @Override
public void onItemClick(AdapterView<? > parent, View view, int position,
long arg3) { // 获取点击我的数据
Toast.makeText(this, parent.getItemAtPosition(position) + "", 0).show(); } }

赵雅智_ListView_ArrayAdapter的更多相关文章

  1. 赵雅智_ContentProvider

    ContentProvider介绍 ContentProvider是不同应用程序之间进行交换数据的标志API 也就是说:一个应用程序通过ContentProvider暴露自己的数据操作接口,那么无论该 ...

  2. 赵雅智_Fragment生命周期

    官网帮助文档链接:  http://developer.android.com/guide/components/fragments.html 主要看两张图.和跑代码 一,Fragment的生命周 w ...

  3. 赵雅智:js知识点汇总

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhemhpMjEyOQ==/font/5a6L5L2T/fontsize/400/fill/I0 ...

  4. 赵雅智_ListView_BaseAdapter

    Android界面中有时候须要显示略微复杂的界面时,就须要我们自己定义一个adapter,而此adapter就要继承BaseAdapter,又一次当中的方法. Android中Adapter类事实上就 ...

  5. 赵雅智_BroadcastReceiver电话监听

    AndroidManifest.xml 注冊广播接收者 加入权限 <?xml version="1.0" encoding="utf-8"?> &l ...

  6. 赵雅智_BroadcastReceiver

    BroadcastReceiver  用于接收程序(包含用户开放的程序和系统内建程序)所发出的Broadcast intent 耗电量 开机启动 窃取别人短信 窃取别人电话 开发: 创建须要启动的Br ...

  7. 赵雅智:service_startService生命周期

    案例演示 布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xm ...

  8. 赵雅智_BroadcastReceiver短信监听

    AndroidManifest.xml 注冊广播接收者 加入权限 <?xml version="1.0" encoding="utf-8"?> &l ...

  9. 赵雅智_Android编码规范

    凝视 导入mycodetemplates.xml统一凝视样式 须要加凝视的地方 类凝视(必加) 方法凝视(必加) 块凝视主要是数据结构和算法的描写叙述(必加) 类成员变量和常量凝视(选择性加入) 单行 ...

随机推荐

  1. oozie中时间EL表达式

    EL表达式: 常量表示形式 含义说明 ${coord:minutes(int n)} 返回日期时间:从一开始,周期执行n分钟 ${coord:hours(int n)} 返回日期时间:从一开始,周期执 ...

  2. 深度剖析java编码,彻底解决java乱码问题_1

    理解: 1,Java编译器(即编译成class文件时) 用的是unicode字符集. 2,乱码主要是由于不同的字符集相互转换导致的,理论上各个字符的编码规则是不同的,是不能相互转换的,所以根本解决乱码 ...

  3. JSONObject与JSONArray

    最近在学习过程中用到了稍微复杂点的json数据需要将json数据解析出来,这里就截取一部分作为例子 1.JSONObject介绍 JSONObject-lib包是一个beans,collections ...

  4. mysql实现经纬度计算两个坐标之间的距离sql语句

    select *,(2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*(111.86141967773438-latitude)/360),2)+COS(PI()*33.070 ...

  5. Reveal Jquery 模式对话框插件

    /* * jQuery Reveal Plugin 1.0 * www.ZURB.com * Copyright 2010, ZURB * Free to use under the MIT lice ...

  6. 使用命令行操控VirtualBox虚拟机

    (1)启动虚拟机:$ VBoxManage startvm <VMNAME> --type gui  #执行结束后,就会启动指定的虚拟机,几乎和平时没什么区别. $ VBoxManage ...

  7. yii2.0操作数据库

    首先不得不说yii2.0面向对象的比较彻底,建议没学过或者没学好面向对象的同学再看看面向对象. 其次切入正题. 先创建数据库,这步自己写. DROP TABLE IF EXISTS `country` ...

  8. ThinkPHP项目笔记之RBAC(权限)上篇

    当理清这5个表的关系,接下来,就是功能介绍了.

  9. PPT如何一页多张打印且铺满整个页面

    最近由于工作需要,有些ppt材料想打印出来学习,但是ppt页数较多,ppt单页打印有些浪费纸张,而且也不能拿到外面打印店去打印,所以只能自己动手设置一页多张打印,并且最后双面打印,这样就做够节省纸张了 ...

  10. Frameset 两页面互调控件技术案例

    总共包含三个页面(Html),分别为Parent.Html.ChildA.Html.ChildB.Html Parent.Html页面代码 <frameset cols="50%,*& ...