Android中SimpleAdapter的使用—自定义列表

本人初学Android,今天研究到Adapter这块感觉挺有意思的,写了个自定义列表进行测试

 

首先我们新建一个layout列表布局文件,具体布局可以自己设定。

下面贴上我的自定义布局文件代码

 

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="horizontal"
 4     android:layout_width="match_parent"
 5     android:background="@drawable/list"
 6     android:layout_height="wrap_content">
 7 
 8     <ImageView
 9         android:id="@+id/ico"
10         android:layout_width="64dp"
11         android:layout_height="64dp"
12         android:background="@mipmap/ic_launcher"/>
13     <LinearLayout
14         android:layout_width="match_parent"
15         android:layout_height="wrap_content"
16         android:orientation="vertical">
17         <TextView
18             android:id="@+id/biaoti"
19             android:layout_width="match_parent"
20             android:layout_height="wrap_content"
21             android:text="我是标题"
22             android:layout_marginTop="5dp"
23             android:textSize="22sp"/>
24         <TextView
25             android:id="@+id/content"
26             android:layout_marginTop="5dp"
27             android:layout_width="match_parent"
28             android:layout_height="wrap_content"
29             android:textSize="16sp"
30             android:text="我是项目信息"/>
31     </LinearLayout>
32 </LinearLayout>

 

上面代码的效果图如下,整体用的是一个Image,以及两个TextView

 

不好看就先凑合吧,测试用

接下来我们开始MainActivity.java

 1 package yuntu.com.yuntu;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 import android.view.View;
 6 import android.widget.AdapterView;
 7 import android.widget.ListView;
 8 import android.widget.SimpleAdapter;
 9 import android.widget.TextView;
10 import android.widget.Toast;
11 import java.util.ArrayList;
12 import java.util.HashMap;
13 import java.util.List;
14 import java.util.Map;
15 
16 public class MainActivity extends AppCompatActivity {
17     private ListView listView;
18 //声明标题
19     private String[] title = new String[]{
20             "我是第1个Title", "我是第2个Title", "我是第3个Title", "我是第4个Title"
21     };
22 //声明内容
23     private String[] content = new String[]{
24             "我是第1个content", "我是第2个content", "我是第3个content", "我是第4个content"
25     };
26 //声明图标
27     private int[] imgIds = new int[]{R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher,R.mipmap.ic_launcher};
28     @Override
29     protected void onCreate(Bundle savedInstanceState) {
30         super.onCreate(savedInstanceState);
31         setContentView(R.layout.activity_main);
32         listView = (ListView) findViewById(R.id.list_item01);
33         List<Map<String, Object>> listitem = new ArrayList<Map<String, Object>>();
34         for (int i=0;i<content.length;i++){
35             Map<String, Object> map = new HashMap<String, Object>();
36             map.put("ico",imgIds[i]);
37             map.put("title",title[i]);
38             map.put("content",content[i]);
39             listitem.add(map);
40         }
41         SimpleAdapter simpleAdapter = new SimpleAdapter(this,listitem,R.layout.main_list,new String[]{"title","content","ico"},new int[]{R.id.biaoti,R.id.content,R.id.ico});
42         listView.setAdapter(simpleAdapter);
43 
44         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
45             @Override
46             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
47                 TextView bt = (TextView) view.findViewById(R.id.biaoti);
48                 TextView nr = (TextView) view.findViewById(R.id.content);
49                 Toast.makeText(MainActivity.this, bt.getText() + "|" + nr.getText(), Toast.LENGTH_SHORT).show();
50             }
51         });
52     }
53 }      



//本篇文章记录日常代码,希望也可以帮到需要的人
                    ————鲨哒哒

转载于:https://www.cnblogs.com/shadada/p/6903637.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Module 的语法

Module 的语法 概述严格模式export 命令import 命令模块的整体加载export default 命令export 与 import 的复合写法模块的继承跨模块常量import()概述 历史上&#xff0c;JavaScript 一直没有模块&#xff08;module&#xff09;体系&#xff0c;无法将一个大程序拆分成互相依…

解决:SyntaxError: Non-UTF-8 code starting with '\xe6' in file

pycharm加注释报错SyntaxError: Non-UTF-8 code starting with \xe6 in file 处理 代码最上面加上编码格式 #coding:utf-8

Freeswitch之ASR(语音识别)总结大全

文章目录1、使用Pocket Sphinx进行英文语音识别2、PocketSphinx语音识别系统语言模型的训练和声学模型的改进3、PocketSphinx语音识别系统的编译、安装和使用4、FS之play_and_detect_speech模块5、一些开源的语音识别软件6、某大神写的一系列干货7、语音识别——基于深度学习的…

linux lvm扩容

linux lvm扩容 LVM磁盘管理 一、LVM简介... 1 二、 LVM基本术语... 2 三、 安装LVM... 3 四、 创建和管理LVM... 4 2、 创建PV.. 6 3、 创建VG.. 7 4、 创建LV.. 9 5、LV格式化及挂载... 10 一、LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写&#xff0c;它由Heinz …

Flask唯一URL规则--@app.route('/', endpoint='1')

Flask的URL规则基于werkzeug的路由模块&#xff0c; 用来保证URL的唯一性。 例如带斜线&#xff1a; app.route(/example/) def example():return ok如果访问一个结尾不带斜线的URL会被重定向到斜线的URL上。 &#xff08;/example&#xff09;变为(/example/) 如果不带斜线…

智能外呼系统相关资料总结

以下是从零开始搭建智能外呼系统的过程中收集的一些资料&#xff0c;希望对你会有帮助。 1、如何从零开始搭建智能外呼系统 参考&#xff1a;https://blog.csdn.net/pA2elX78qaJTADH/article/details/81351597 2、国内外优秀呼叫中心系统简介 参考&#xff1a;https://blog…

驱动开发之 设备读写方式:缓冲区方式

1. 设备对象一共同拥有三种读写方式&#xff1a;缓冲区方式读写&#xff08;Buffered方式&#xff09;&#xff1b;直接方式读写&#xff08;Direct方式&#xff09;。Neither方式。这三种方式的Flags分别相应DO_BUFFERED_IO,DO_DIRECT_IO,0 在buffered方式中。I/O管理器先创建…

flask开启调试的四种模式

在app.run()中加一个参数, debugTrue就可以开启debug模式 from flask import Flaskapp Flask(__name__)app.route(/) def hello_world():return Hello World!if __name__ __main__:app.run(debugTrue) 将app的debug属性赋值为True 1 from flask import Flask2 3 app Flas…

Python基础常见面试题总结

文章目录基础知识题看程序写结果题编程题以下是总结的一些常见的Python基础面试题&#xff0c;帮助大家回顾基础知识&#xff0c;了解面试套路。会一直保持更新状态。PS&#xff1a;加粗为需要注意的点。基础知识题 1、深拷贝和浅拷贝的区别是什么&#xff1f; 深拷贝是将对象…

2、nginx配置文件

2、nginx配置文件user [user] [group];//运行nginx的用户(组)&#xff08;只能在全局设置&#xff09;worker process number|auto;//允许生成的worker process数&#xff08;只能在全局设置&#xff0c;通常设置成和cpu的数量相等 &#xff09;pid file;//nginx进程的Pid存放路…

watir6.0 -selenium3新时代的watir-webdriver

很久没写博客了- - 记得几年前使用watir的时候还是1.x系列&#xff0c;个人感觉还是非常好用的&#xff0c;不过缺点也很明显&#xff0c;只支持ie&#xff0c;对于弹出框下载框等支持不是很好&#xff0c;经常需要结合autoit 一起使用。 中间有一段时间没有使用过watir&#x…

Flask-Script扩展命令行manager = Manager(app)

通过使用Flask-Script扩展&#xff0c;我们可以在Flask服务器启动的时候&#xff0c;通过命令行的方式传入参数。而不仅仅通过app.run()方法中传参&#xff0c;比如我们可以通过python hello.py runserver --host ip地址&#xff0c;告诉服务器在哪个网络接口监听来自客户端的连…

Python基础总结之常用内置方法总结

文章目录前言1、str1.1、内置方法&#xff1a;1.2、常用的内置方法1.3、String模块的一些方法2、list2.1、内置方法2.2、常用内置方法3、tupple3.1、内置方法3.2、常用内置方法4、dict4.1、内置方法4.2、常用内置方法5、其他5.1、几个sort的使用5.2、enumerate&#xff08;&…

线程的条件变量实例

情景1&#xff1a;Jack开着一辆出租车来到一个网站停车。看见没人就走了。过段时间。Susan来到网站准备乘车。可是没有来&#xff0c;于是就等着。过了一会Mike开着车来到了这个网站&#xff0c;Sunsan就上了Mike的车走了。如图所看到的&#xff1a;程序实现该情景&#xff1a;…

Flask 模板 之 变量和过滤器

1.模板 在前面的示例中&#xff0c;视图函数的主要作用是生成请求的响应&#xff0c;这是最简单的请求。实际上&#xff0c;视图函数有两个作用&#xff1a;处理业务逻辑和返回响应内容。在大型应用中&#xff0c;把业务逻辑和表现内容放在一起&#xff0c;会增加代码的复杂度…

架设证书服务器 及 让IIS启用HTTPS服务

http://blog.csdn.net/dier4836/article/details/7719532转载于:https://www.cnblogs.com/kunlunmountain/p/6428838.html

浅谈互联网寒冬与经济形势

文章目录前言&#xff1a;闲扯总结&#xff1a;前言&#xff1a; 作为刚进入职场一年多的小白来说&#xff0c;刚准备“猥琐发育涨经验”&#xff0c;却碰到这股互联网寒冬&#xff0c;也感到鸭梨山大。也许有人认为我在贩卖焦虑&#xff0c;但是现实真的很严峻。接下说下过去…

jenkins 配置

build periodically 周期进行项目构建poll scm 定时检查远吗变更&#xff0c;如果有更新就checkout最新code下来&#xff0c;然后执行构建动作日程表&#xff1a;H 9 *** : 每天9点固定构建一次H/30 8-17 *** : 每天的8-17点每隔三十分钟检查一次转载于:https://…

Java集合---LinkedList源码解析

一、源码解析1、 LinkedList类定义2、LinkedList数据结构原理3、私有属性4、构造方法5、元素添加add()及原理6、删除数据remove()7、数据获取get()8、数据复制clone()与toArray()9、遍历数据&#xff1a;Iterator()二、ListItr 一、源码解析 1、 LinkedList类定义。 public cla…

Mysql面试热身题集总结

文章目录前言1、热身题实践其他前言 一直有个想法&#xff1a;把面试需要的知识点全都总结一下&#xff0c;包括数据库&#xff0c;语言&#xff0c;算法&#xff0c;数据结构等知识&#xff0c;形成一个面试总结笔记&#xff0c;这样以后面试的时候只看这些文章回顾下就行了。…