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.pswp.cn/news/456407.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456407.shtml
英文地址,請注明出處:http://en.pswp.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;這樣以后面試的時候只看這些文章回顧下就行了。…