文档章节

android -各种适配器

LizRose
 LizRose
发布于 2016/03/02 09:49
字数 532
阅读 19
收藏 0
点赞 1
评论 0

参考文章:http://blog.csdn.net/a_large_swan/article/details/7535337

数据源不同而已
1. String[]: ArrayAdapter
2. List<Map<String,?>>: SimpleAdapter
3. 数据库Cursor: SimpleCursorAdapter


第一种参考

如果仅仅将数组的内容显示到ListView 上ArrayAdapter就够了
public classTest extends ListActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String[] sw = new String[10];
        for (int i = 0; i < 10; i++) {
            sw[i] = "List_" + i;
        }
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,sw);//使用系统已经实现好的xml文件simple_list_item_1
        setListAdapter(adapter);
    }
}




大概就是这三种,第一种的话一定要是string[]数组才可以,不能用ArrayList<string>,需要转换一下才可以使用。


写一下第二种用法:

一,mainActivity.class

1,数组类型:

ArrayList<HashMap<String,Object>>
2,适配器类型


SimpleAdapter
/**第一个参数:context

第二个参数:数组

第三个参数:适配器样式布局

第四个参数:hashmap中需要显示出来的key值

第五个参数:适配器样式布局中与hashmap中需要显示出来的key值对应的控件

//显示分类列表
        listItem=getALLlist();
        SimpleAdapter listadapet=new SimpleAdapter(sortlist_java.this,
        listItem,
        R.layout.list_adapter,
        new String[]{"image","task_type"},
       new int[]{R.id.imageView2,R.id.textView3});



二、
R.layout.list_adapter界面
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
    android:layout_height="45dp"
    android:background="@color/white"

    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".MainActivity">


    <ImageView
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:id="@+id/imageView2"
        android:background="@drawable/type_two"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="10dp"
        android:layout_alignBottom="@+id/textView3"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Text"
        android:id="@+id/textView3"
        android:textSize="20dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="15dp" />


</LinearLayout>



三、数组取值问题:

ArrayList<HashMap<String,Object>>


//获取数据库的所有待办信息到List
    public ArrayList<HashMap<String,Object>>   getALLlist_todo() {
        MySqliteHelper mySqliteHelper=new MySqliteHelper(this,"mydata.db",null,1);  //mydata.db的数据库
        ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String , Object>>();
        SQLiteDatabase db = mySqliteHelper.getReadableDatabase();
        Cursor c = db.query("my_table", new String[]{"_id", "task", "date", "task_type","cycle_time","remark","state","done_time"}, null, null, null, null, null);

        if (c != null) {
            while (c.moveToNext()) {
                HashMap<String, Object> item = new HashMap<String, Object>();

                if(c.getString(c.getColumnIndex("state")).equals("todo")) {
                    item.put("_id", c.getInt(c.getColumnIndex("_id")));
                    item.put("task", c.getString(c.getColumnIndex("task")));
                    item.put("date", c.getString(c.getColumnIndex("date")));
                    item.put("task_type", c.getString(c.getColumnIndex("task_type")));
                    item.put("cycle_time", c.getString(c.getColumnIndex("cycle_time")));
                    item.put("remark", c.getString(c.getColumnIndex("remark")));
                    item.put("state", c.getString(c.getColumnIndex("state")));
                    item.put("done_time",c.getString(c.getColumnIndex("done_time")));
                    item.put("image", R.drawable.quan1);



                    list.add(item);

                }

            }
        }
        c.close();
        return list;
    }





© 著作权归作者所有

共有 人打赏支持
LizRose
粉丝 2
博文 44
码字总数 33108
作品 0
苏州
程序员
开源框架BaseRecyclerViewAdapterHelper使用——RecyclerView万能适配器

前言 主要声明三点 第一: 关于本文的BaseRecyclerViewAdapterHelper用法,自然是转载的官方原文。或许有的人会很疑惑原文写的那么清除那么完善,为什么我还要写一篇几乎一模一样的?是为了蹭...

猜火车_ ⋅ 2017/08/14 ⋅ 0

想把GridView添加到ViewPager里面。报空指针异常

用TabLayout和ViewPager关联后,想把GridView添加到ViewPager里面。报空指针异常。不知道哪里写错了 04-12 08:39:37.363 25278-25278/? E/AndroidRuntime: FATAL EXCEPTION: main Process: ...

csl232 ⋅ 04/13 ⋅ 0

Android蓝牙库-FastBle的简易使用

发布自Kindem的博客,欢迎大家转载,但是要注意注明出处 最近在做物联网课设,过程中需要用到Android的蓝牙API,奈何原生的蓝牙API使用有点麻烦。于是上网搜索看有没有好用的Android蓝牙库,...

Kindem ⋅ 05/25 ⋅ 0

tcgames无需安卓模拟器电脑玩手游连接黑屏、闪退、连接不上问题汇总

tcgames连接不上手机怎么办?tcgames连接电脑黑屏闪退如何解决?tcgames为什么一直显示正在连接中?tcgames是一款无需安卓模拟器也可以在电脑上玩手机游戏匹配手游服玩家的工具,部分玩家在使...

cdjiehua ⋅ 03/27 ⋅ 0

Java 设计模式 之 适配器 应用

Java 设计模式 之 适配器 在android ListView 当中的原理 http://www.verejava.com/?id=16999005250058

verejava ⋅ 05/22 ⋅ 0

android开发常用工具类、高仿客户端、附近厕所、验证码助手、相机图片处理等源码

Android精选源码 android开发过程经常要用的工具类源码(http://www.apkbus.com/thread-599826-1-1.html) Android类似QQ空间个人主页下拉头部放大的布局效果(http://www.apkbus.com/thread-5...

逆鳞龙 ⋅ 05/29 ⋅ 0

RecyclerView各种使用方法

RecyclerView RecyclerView 比 ListView 更高级且更具灵活性。 它是一个用于显示庞大数据集的容器,可通过保持有限数量的视图进行非常有效的滚动操作。 如果您有数据集合,其中的元素将因用户...

zhw0596 ⋅ 04/20 ⋅ 0

android沉浸状态栏实现、地图多线路规划、Retrofit+RxJava+Jsoup+Mvp模式资讯类App等源码

Android精选源码 Android各种沉浸式状态栏实现源码(http://www.apkbus.com/thread-598927-1-1.html) Android自定义View实现炫酷的星期日期选择控件源码(http://www.apkbus.com/thread-59893...

逆鳞龙 ⋅ 05/08 ⋅ 0

打造万能的BannerView(ViewPager)无限轮播图

为什么写这篇文章,因为在网上看到的绝大多数BannerView实现了右无限轮播图,甚至没有实现无限轮播图,说成是无限轮播图,实现了左右无限轮播图的,并没有做性能上的优化。 先看张效果图 工程...

Steven_520 ⋅ 05/11 ⋅ 0

谷歌自研Fuchsia OS将兼容安卓:亦可在x86体系运行

谷歌正在开发一款神秘的跨设备操作系统Fuchsia。近期,谷歌似乎正在给该系统添加一项功能,使其可以更好地被用户接受。 和甲骨文在Java方面的纠缠让谷歌郁闷良久,好在巨头所做的不是法律方面...

codeGoogle ⋅ 05/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

IDEA创建SpringMVC+Mybatis+Maven项目

视频如下(加载有点慢请见谅,服务器不太好): 视频

影狼 ⋅ 26分钟前 ⋅ 0

前阿里P8架构师:精准定制Java架构师学习计划!

可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 有不少朋友问,除了掌握J...

java高级架构牛人 ⋅ 29分钟前 ⋅ 0

zookeper学习

https://blog.csdn.net/u012152619/article/category/6470028

~少司命~ ⋅ 30分钟前 ⋅ 0

Spring MVC ,JSON,JQuery,不懂JQuery,跳过了

/spring-mvc-study/src/main/webapp/course_json.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD ......

颖伙虫 ⋅ 31分钟前 ⋅ 0

2018上海云栖大会workshop-日志数据采集与分析对接

摘要: 日志数据采集与分析对接 课程描述 通过日志服务采集用户、数据库、业务等访问数据。演示对于业务日志分析与处理,程序日志查询与监控,打通日志与数据仓库对接案例。 日志种类 网站访...

阿里云云栖社区 ⋅ 32分钟前 ⋅ 0

mahout demo

package com.datamine.CollaborativeFiltering.mysql; import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood; import org.apache.mahout.cf.taste.impl.recommend......

xiaomin0322 ⋅ 33分钟前 ⋅ 0

red hat openstack 12配置要求

安装 openstack 之前,一般要规划整个系统中,到底要多少台机器来参与openstack, 根据rhosp12的官方文档: 最低要求是3台物理机,1台作为director,一台作为 controller ,一台作为computer....

tututu_jiang ⋅ 34分钟前 ⋅ 0

Rocket-Chip在GitHub上的各个源码

在github上通过搜索Rocket-chip可以得到36个结果:其中 https://github.com/freechipsproject/rocket-chip https://github.com/ucb-bar/riscv-boom https://github.com/ucb-bar/fpga-zynq (......

whoisliang ⋅ 40分钟前 ⋅ 0

【HAVENT原创】CentOS 6.5 下 Nginx 的安装与配置

nginx是轻量级的Web服务器、反向代理服务器及邮件服务器,具有占用内存少,并发能力强的优点,已被广泛应用。本文介绍目前最新版本 1.12.2 的安装。 各版本nginx下载地址:http://nginx.org/...

HAVENT ⋅ 46分钟前 ⋅ 0

查看linux系统重启之前的log -- last_kmsg

当 Linux Kernel 出现 BUG 的时候,后走入 panic flow,这个时候由于 Kernel 出现了严重的问题,adbd 也无法响应 adb 连接请求,这个时候想透过读取 Kernel Log Buffer 来看 Kernel Log 是不...

zyzzu ⋅ 46分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部