1. 程式人生 > >安卓介面元件----列表檢視

安卓介面元件----列表檢視

ListView列表檢視是安卓元件中最常見的,它以垂直列表的形式展出需要顯示的列表項,比如:我們的系統設定,功能列表,新聞客戶端的下拉重新整理等。

      和特別的是:ListView不僅僅能夠通過元件進行建立,還有通過開發者自己繼承ListActivity實現。

一    使用ListView元件實現

      作為元件,需要注意ListView的幾個基本屬性:

                android:divider      為列表檢視設定分隔條,分隔可以使用顏色分割,也可以使用drawable資源進行分隔

                android:dividerHeight     設定分隔條的高度

                android:entries              通過資源陣列指定ListView列表項

                android:footerDividersEnable        設定foot view之前是否設定分隔條;當次屬性為true,可以通過addFooterView()方法設定footer view

                android:headerDividersEnable       設定head view之前是否設定分隔條;當次屬性為true,可以通過addFooterView()方法設定head view

實際操作:

       1.佈局檔案新增列表檢視,通過xml資原始檔配置其顯示內容

複製程式碼
//在佈局中新增的ListView,不指定資原始檔的資料    

    <ListView
        android:id="@+id/listView1"
        android:divider="@drawable/divide"
        android:dividerHeight="3dp"
        android:footerDividersEnabled="true"
        android:headerDividersEnabled="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>
複製程式碼 複製程式碼
    //資原始檔指定的資料

<string-array name="data">
        <item >first</item>
        <item >second</item>
        <item >third</item>
        </string-array>
複製程式碼

執行效果:

    2.通過介面卡設定顯示的內容

列表檢視重要的是顯示的內容:同Spinner一樣,當佈局xml檔案沒有指定要顯示的內容時,可以通過設配器設定列圖視表要顯示的內容。

列圖視表的使用分為兩個步驟:1>建立介面卡  2>將介面卡關聯給列圖視表元件

建立介面卡:介面卡建立可以通過資原始檔建立,也可以使用字串陣列建立。建立介面卡過程和下拉選擇框不同的是需要指定列圖視表顯示內容的形式(是否帶複選框或單選框)

資原始檔建立:

        ArrayAdapter<CharSequence> a = ArrayAdapter.createFromResource(this, R.array.data,
                android.R.layout.simple_list_item_checked);

通過字串陣列建立:

        String[] str = new String[]{"first","second","third"};
        
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_checked,str);

繫結介面卡:

        ListView v = (ListView)findViewById(R.id.listView1);
        v.setAdapter(adapter);

 注意:執行效果已經設定了顯示內容的形式

     3.實現監聽

複製程式碼
        v.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> v, View arg1, int pos,
                    long id) {
                
                String result = v.getItemAtPosition(pos).toString();
                Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();
                
            }
        });
複製程式碼

二      繼承ListActivity實現

如果程式僅僅是要顯示一個列表視窗,可以直接繼承ListActivity實現。繼承了ListActivity之後,onCreate()方法不需要setContentView()方法設定顯示容器,ListActivity已經設定好了顯示。這時候,僅僅給ListActivity配置介面卡即可。

需要將ListActivity繼承,之後新增設配器即可。關鍵程式碼:

複製程式碼
public class MainActivity extends ListActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ArrayAdapter<CharSequence> a = ArrayAdapter.createFromResource(this, R.array.data,
                android.R.layout.simple_list_item_checked);
        
        setListAdapter(a);
        

    }
複製程式碼

ListActivity的事件監聽和Activity有所不同,ListActivity已經實現了監聽事件,開發者將onListItemClick()覆蓋即可。

複製程式碼
    @Override
protected void onListItemClick(ListView l, View v, int position, long id) {
        
        super.onListItemClick(l, v, position, id);
        
        String result = l.getItemAtPosition(position).toString();
        Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();
    }
複製程式碼

總結:和下拉列表檢視類似,顯示內容我們可以通過xml配置,也可以使用介面卡適配。ListView效果的實現還可以繼承ListActivity,ListActivity已經實現了Activity的方法,不需要設定setContentView(),事件監聽方面覆蓋原來的onListItemClick()

水平有限,請留言指教!

相關推薦

介面元件----列表檢視

ListView列表檢視是安卓元件中最常見的,它以垂直列表的形式展出需要顯示的列表項,比如:我們的系統設定,功能列表,新聞客戶端的下拉重新整理等。       和特別的是:ListView不僅僅能夠通過元件進行建立,還有通過開發者自己繼承ListActivity實現。 一

關於RecyclerView元件使用中檢視不載入的bug

09-21 14:33:26.382 3791-3791/com.example.kylochen.xiaoherobot E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.kylochen.xiaoherobot, P

介面基本元件---按鈕

所有的UI元件裡面,功能最容易被理解的恐怕就是按鈕。安卓UI元件中提供了兩個按鈕:普通按鈕和圖片按鈕,區別在於圖片按鈕顯示的是一個圖片。試想:開發遊戲程式介面,放置一個沒有任何效果的普通按鈕,將會大大降低遊戲的趣味。 由於按鈕比較簡單,所以本篇文章結構也比較簡單。文章前面介

原始碼(二)檢視原始碼分支列表

這裡再講一遍環境安裝: 系統deepin 15.4rc 1、安裝軟體 sudo su apt-get install openjdk-8-jdk apt-get install cur

介面基礎知識總結(二):RelativeLayout佈局的常見屬性

1.android:layout_above="@id/xxx"  --將控制元件置於給定ID控制元件之上   android:layout_below="@id/xxx"  --將控制元件置於給定ID控制元件之下 2.android:layout_marginLe

介面基礎知識總結(一):LinearLayout佈局的常見屬性

之前做專案都是用到了才會查詢自己所需的,沒有系統總結一下,也沒有特意去記,面試的時候被問到了居然不知道,-_-|| 決定開始系統總結一下: 1. android:orientation:設定線性佈局是水平還是豎直排列,可能選項如下: 1)vertical,豎直 2)horizontal,水

Android學習(一)--四大元件

 Android有四大元件,分別是Activity,Service,Content Provider和Broadcast Receiver。   首先說明Activity元件,開發一個應用程式不用到Activity是很難的,一個Activity通常就是一個獨立的視窗或

四大元件學習之Broadcast

Broadcast(廣播) 安卓中,廣播是一種常用與應用程式之間進行訊息傳遞的方式。首先講需要傳遞的資訊和用於過濾的資訊裝入(Action 、Category)並通過SendBroadcast()、sendOrderBroadcast()或sendStickyBroadcast()方法,把 In

四大元件學習之Service

Service 按官方原文件所說:Service是一個沒有介面在後臺執行耗時操作的應用元件。其他元件能夠啟動Service,並且當用戶切換到相應的應用場景,Service一樣能在後臺持續執行。另外一個元件還能繫結到Service與之互動(IPC通訊),所有這些活動都是在後臺進行的,Service

四大元件之Activity學習

在安卓中各大控制元件都要依附Activity來完成與使用者的互動,Activity(活動)作為控制元件的平臺。介面的實現都要用到Activity,簡單的說Activity就是安卓的UI部分。 Activity的生命週期 一個Activity的建立與銷燬要經歷一下幾個方法: onCreat

Android 四大元件

Android開發的四大元件  Android四大元件分別為activity、service、content provider、broadcast receive  一、Activity    Activity生命週期的方法是成對出現的 onCreate(

四大元件之bindService使用

bindServer使用場景 1、在同個app之間呼叫(即是同一個程序中) 2、在不同app之間呼叫(即是跨程序間通訊) 同個app間呼叫(只有一次啟動該服務) BinderActicityA public class BinderActicityA exten

製作一個介面,可以進行密碼和賬號的判斷,有用來儲存輸入賬號和密碼的類,用來在其他類中呼叫

首先附上安卓介面圖和完整版下載地址: 下載地址:https://download.csdn.net/download/qq_39343904/10881646                   &nb

介面之Toolbar上手

  一.在配置檔案採用自定義Style方法去除Actionbar <resources> <style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!--

介面之Toolbar+tablayout+viewpager仿WhatsApp介面樣式

實現介面: 佈局程式碼: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/

介面之Viewpager和Tablayout實現滑動介面

摘要:六部實現選項卡介面   一. 在gradle檔案新增以下程式碼: implementation 'com.android.support:design:28.0.0'  在gradle檔案新增以上程式碼後,才能使用Tablayout(版本號28.0.0是我做實驗時

BroadcastReceiver元件使用系列2:給多個廣播接收者傳送廣播和有序廣播的使用

給多個廣播接收者傳送廣播、有序廣播的使用在安卓開發中是經常使用的方式,下面我們來介紹一下它的使用方法。 整體思路:在xml檔案中放置兩個Button控制元件,給這兩個Button控制元件設定點選事件,在第一個點選事件中傳遞一個數據,設定一個動作併發送廣播,在第二個點選事件中

控制元件拖動

/** 此文主要有兩大要點 1.控制元件的拖動 2.控制元件同時實現點選事件與拖動事件時的衝突處理 要點地方都有註釋 */ public class extents Activity{ /** Called when the activity is first create

自定義列表dialog

前言 這個形式也是最常用的,不過最近需要用到列表資訊Dialog,原生的不光樣式不能滿足需求,而且是開發電視端的APP,需要對焦點進行特殊處理,所以就需要自定義Dialog 我們先來看一下系統自帶的列表Dialog。 系統自帶列表Dialog

四大元件 之 Activity 之 任務棧和回收棧(Tasks and Back Stack)

本文摘要 |---Saving Activity State   |---Managing Tasks     |---Defining launch modes     |---Handling affinities     |---Clearing the back s