1. 程式人生 > >Android開發從入門到放棄(8)使用ListView顯示一個簡單的列表

Android開發從入門到放棄(8)使用ListView顯示一個簡單的列表

本篇部落格簡單介紹一下Android開發中ListView的使用,並顯示一個簡單列表,點選列表中的某一項時,會顯示出該項的名稱。在Android中,顯示一個列表是比較容易的,我總結了下,只需三步

  1. 一個待顯示的資料列表,可以是簡單型別,也可以是自定義型別,
  2. 一個用於展示每一個數據項的模板,
  3. 根據前兩項來一個Adapter物件,可以是ArrayAdapter、CursorAdapter或者自定義一個Adapter, 並將Adapter物件與ListView做關聯

接下來我來做一個列子,用於展示一個簡單的列表。下面是activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft
="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.zdk.listview.MainActivity">
<TextView android:layout_width="wrap_content" android:layout_height
="wrap_content" android:text="select countries" />
<ListView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@android:id/list"></ListView> </RelativeLayout>

如果你想讓Activity繼承自ListActivity的話,可以不呼叫setContentView()來指定任何Layout,也可以指定一個Layout。如果指定Layout的話,則Layout中必須包含一個id為@android:id/list的ListView型別的控制元件。

下面是MainActivity.java的程式碼

package com.example.zdk.listview;

import android.app.ListActivity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends ListActivity {

    String[] countries = new String[]{"China", "France",
            "Germany", "India", "Russia", "United Kingdom",
            "United States"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListAdapter adapter  = new ArrayAdapter<String>(this,
            android.R.layout.simple_expandable_list_item_1,countries);
        setListAdapter(adapter);

    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        Toast.makeText(this, "你選擇了"+countries[position] , Toast.LENGTH_SHORT).show();
    }
}

按照上面所說的三步,第一個是建立了一個countries的陣列,第二步是選擇使用android.R.layout.simple_expandable_list_item_1作為每一項顯示的模板,第三步是例項化了一個ArrayAdapter型別的adapter物件,並通過setListAdapter(adapter);與ListView設定了關聯。
需要注意的是,MainActivity繼承自ListActivity。我重寫了ListActivity的onListItemClick方法,當用戶點選某一項的時候,通過Toast顯示點選的項的資訊。

相關推薦

Android GIS開發系列-- 入門8 Json與Geometry的相互轉換

相互轉換 them 實用 興趣 parse 執行 pretty pre andro 在Android中json數據十分普遍,也很實用,在Arcgis中也同樣支持Json數據,Json與Geometry可以相互轉換,達到我們想要的數據。 一、Geometry轉換成Json數

Android新手入門20168--ListView之ArrayAdapter

pos bject 了解 指定格式 pack extend line avi per 本文來自肥寶傳說之路,引用必須註明出處! ListView是Android中經常使用的控件。 什麽是列表視圖,讓我們先看看圖: 最常見的樣例就是各種菜單的下啦列表。 要實現列表,

Android開發入門放棄8使用ListView顯示一個簡單列表

本篇部落格簡單介紹一下Android開發中ListView的使用,並顯示一個簡單列表,點選列表中的某一項時,會顯示出該項的名稱。在Android中,顯示一個列表是比較容易的,我總結了下,只需三步 一個待顯示的資料列表,可以是簡單型別,也可以是自定義型別, 一

JavaWeb入門放棄8-servlet攔截器Fliter的使用重定向和轉發

Filter位於javax.servlet.Filter,作用是在請求到達Servlet之前和服務端返回從Servlet返回之後對訊息進行攔截處理。 一.使用方法      1.實現Filter介面,重新init、destroy和doFilter方法,前兩個方法一個是初始化

Android GIS開發系列-- 入門12 顯示載天地圖

nts down initial spatial 動態加載 static mapview internal nat 在項目中可以經常需要動態加載一些圖層,像投影地圖服務、投影地圖服務器。其實網上有大量這樣的服務,比如天地圖官網, 。 隨便點開一個服務,裏面有相關的信息。

Android GIS開發系列-- 入門14FeatureLayer之範圍查詢

sso 偏差 .get http pri tex des else uil Android GIS開發系列-- 入門季(5),這篇文章中,我們知道如何去查找要素。現在有一個需求,查找某點5000米範圍的要素,那如何來做呢?首先我們需要在地圖上畫個5000米半徑的圓,然後根據

Android GIS開發系列-- 入門13Gdal簡單寫個shp文件

ring map register enc 資源 ger 下載地址 不可用 tle Gdal是用來讀寫柵格與矢量數據的,在Gdal官網,可以下載相關的資源進行平臺的編譯。其實Arcgis底層也是用Gdal來讀取shp文件的,那在Android中可以直接讀寫shp文件嗎,是可

TQ2440開發板學習紀實8--- NAND Flash讀取資料,把程式碼搬運到SDRAM執行

因為依賴於S3C2440的開機自動從Nandflash複製資料到片內SRAM執行,目前我們的可執行程式體積仍然不能大於4KB的限制。而我們的程式目前已經非常接近這個限制大小了,為了能夠繼續開發,必須突破這個限制。為此需要實現程式碼搬運功能,把程式從Nandfla

基於MVC4+EasyUI的Web開發框架經驗總結8--實現Office文檔的預覽

討論 off info code .cn viewer 存在 nco app http://www.cnblogs.com/wuhuacong/p/3871991.html 基於MVC4+EasyUI的Web開發框架經驗總結(8)--實現Office文檔的預覽

Android開發入門到精通》扶松柏.掃描版.pdf

工具 機制 網絡 條碼 referer 列表 simple ott 賬號 下載地址:網盤下載 內容簡介 編輯 《Android開發從入門到精通》系統講解了Android軟件開發的基礎知識,圖文並茂地幫助讀者學習和掌握SDK、開發流程以及常用的API

Android OpenGL ES 入門系列 --- 了解OpenGL ES的前世今生

target 初始化 vertex 單獨 http hang tex 變化 3d圖 轉載請註明出處 本文出自Hansion的博客 OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三維圖形 API 的子集,

Android開發模板代碼——簡單打開圖庫選擇照片

image string code index targe contex 數字 vid equals 首先,先貼上樣本代碼 //檢查權限 public void checkPermission() { if (ContextCompat.c

Android 滑動效果入門—— ViewFlipper

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

C++快速入門---物件8

C++快速入門---物件(8)   類是一個模型。當為這個類建立例項的時候,也就是物件本身。 類是物件的一個藍圖、模型、模板。 物件是類的一個具體化的例項、實現。   類(class)就像一幅藍圖,它決定一個物件將是什麼樣的(具備什麼樣的屬性、功能)

arcgis jsapi介面入門系列8:滑鼠在地圖畫面

初始化,每個map執行一次 PS:畫點也差不多,都是用SketchViewModel,因此本demo沒有專門寫畫點的 drawPolygonInit: function () { //畫幾何物件初始化 //新建一個圖形圖

Android開發————簡易APP設計

實驗內容 使用sqlite 給備忘錄app增加資料儲存功能 實驗步驟 活動1: Xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sche

Asp.Net MVC4入門指南8:給資料模型新增校驗器

在本節中將會給Movie模型新增驗證邏輯。並且確保這些驗證規則在使用者建立或編輯電影時被執行。 保持事情 DRY ASP.NET MVC 的核心設計信條之一是DRY: "不要重複自己(Don’t Repeat Yourself)"。ASP.NET MVC鼓勵您指定功能或者行為,只做一次,然後將它應用到應用

Windows驅動開發入門

        本文主要介紹“如何入門Windows驅動開發”和“新手需要掌握哪些知識和動手技能”,大部分是本人探索Windows驅動開發近一月時間的經驗之談。大致包括如下幾個方面: 1,開發工具、除錯工具和除錯手段; 2,Windows驅動開發框架; 3,驅動程式基本知識

學習Qt之基礎篇——入門開始1

Qt 簡介         Qt是一個跨平臺的C++應用程式開發框架,被廣泛用於開發GUI程式。 Qt有豐富的 API且面向物件。Qt是自由且開放原始碼的軟體,在GNU較寬鬆公共許可證條款下發布。支援廣泛的編譯器,包括GCC的C++編譯器和Visual Studio。 Q

Android開發板串列埠SerialPort通訊

前言: 最近在總是看見有人在群裡面問一些串列埠通訊相關的問題,特別是對於我們這些做APP出生的程式設計師來說,初次接觸串列埠通訊的確是會遇到各種Bug,各種摸不著頭腦。串列埠通訊偏向嵌入式一點,是Android裝置通過串列埠與其他裝置進行通訊的一種方式,本文介紹的Andr