赵雅智_ListView_ArrayAdapter
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)
上下文,显示的视图。显示视图的组件,数据资源(数组)
项目步骤
- 声明listView控件并获取显示的视图
- 获取显示的数据
- 设置显示的adapter
- 注冊点击事件
详细案例
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;
}
布局文件
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的更多相关文章
- 赵雅智_ContentProvider
ContentProvider介绍 ContentProvider是不同应用程序之间进行交换数据的标志API 也就是说:一个应用程序通过ContentProvider暴露自己的数据操作接口,那么无论该 ...
- 赵雅智_Fragment生命周期
官网帮助文档链接: http://developer.android.com/guide/components/fragments.html 主要看两张图.和跑代码 一,Fragment的生命周 w ...
- 赵雅智:js知识点汇总
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhemhpMjEyOQ==/font/5a6L5L2T/fontsize/400/fill/I0 ...
- 赵雅智_ListView_BaseAdapter
Android界面中有时候须要显示略微复杂的界面时,就须要我们自己定义一个adapter,而此adapter就要继承BaseAdapter,又一次当中的方法. Android中Adapter类事实上就 ...
- 赵雅智_BroadcastReceiver电话监听
AndroidManifest.xml 注冊广播接收者 加入权限 <?xml version="1.0" encoding="utf-8"?> &l ...
- 赵雅智_BroadcastReceiver
BroadcastReceiver 用于接收程序(包含用户开放的程序和系统内建程序)所发出的Broadcast intent 耗电量 开机启动 窃取别人短信 窃取别人电话 开发: 创建须要启动的Br ...
- 赵雅智:service_startService生命周期
案例演示 布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xm ...
- 赵雅智_BroadcastReceiver短信监听
AndroidManifest.xml 注冊广播接收者 加入权限 <?xml version="1.0" encoding="utf-8"?> &l ...
- 赵雅智_Android编码规范
凝视 导入mycodetemplates.xml统一凝视样式 须要加凝视的地方 类凝视(必加) 方法凝视(必加) 块凝视主要是数据结构和算法的描写叙述(必加) 类成员变量和常量凝视(选择性加入) 单行 ...
随机推荐
- 常见linux内核线程说明
ps进程名有方括号的是内核级的进程,执行辅助功能(比如将缓存写入到磁盘):所有其他进程都是使用者进程.您会注意到,就算是在您新安装的(最小化的)系统中,也会有很多进程在运行. 在文档kernel-pe ...
- RabbitMQ之路由(Routing)【译】
在上一节中,我们创建了一个简单的日志系统,可以广播消息到很多接收者. 这一节,我们将在上一节的基础上加一个功能--订阅部分消息.例如,我们只将严重错误信息写入到日志文件保存在磁盘上,同时我们能将所有的 ...
- Istio流量管理实现机制深度解析
https://zhaohuabing.com/post/2018-09-25-istio-traffic-management-impl-intro/TOC 前言 Pilot高层架构 统一的服务模型 ...
- Linux 复制、移动覆盖文件不提示
# vi ~/.bashrc 如果你看到如下内容,以下命令都会用别名执行了,就是说自动加了 -i 参数 alias rm='rm -i'alias cp='cp -i'alias mv='mv - ...
- imx6 18bit display
imx6 kernel中使用18bit的lcd,uboot中bootargs参数bpp=32,lcd才能够正常显示. "bootargs=console=ttymxc0,115200 ini ...
- No mysqld or mysql.server after mariadb-server install
To start MariaDB on Fedora 20, execute the following command: systemctl start mariadb.service To aut ...
- hdu 1421:搬寝室(动态规划 DP + 排序)
搬寝室 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- MySQL [Err]1449 : The user specified as a definer ('root'@'%') does not exist
权限问题:授权 给 root 所有sql 权限 mysql> grant all privileges on *.* to root@"%" identified by &q ...
- SQL的学习
1. 判断表达式的值是否为空在表达式后面接 IS NULL 或 IS NOT NULL 可以判断表达式是否为空或不为空 2. 把数据库中的数据导出成可执行的SQL语句对数据库点击右键一次选择 任务-- ...
- Ubuntu 编译安装搭配LNMP 环境
这里用Nginx1.2.0+mysql5.6.33+php5.6.2搭配安装环境 ---------------------------------------------Nginx BEGIN--- ...