97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠見教育科技集團 >> 新聞動態(tài) >> Android資料 >> Android系統(tǒng)控件ListView  
 
Android系統(tǒng)控件ListView
分享到:

Android系統(tǒng)控件ListView是一種用于垂直顯示的列表控件,如果顯示內(nèi)容過多,則會出現(xiàn)垂直滾動條。

ListView能夠通過適配器將數(shù)據(jù)和自身綁定,在有限的屏幕上提供大量內(nèi)容供用戶選擇,所以是經(jīng)常使用的用戶界面控件。同時,ListView支持點擊事件處理,用戶可以用少量的代碼實現(xiàn)復(fù)雜的選擇功能。例如,調(diào)用setAdapter()提供的數(shù)據(jù)和View子項,并通過setOnItemSelectedListener()方法監(jiān)聽ListView上子項選擇事件。

若Activity由一個單一的列表控制,則Activity需繼承ListActivity類而不是之前介紹的常規(guī)的Activity類。如果主視圖僅僅只是列表,甚至不需要建立一個layout,ListActivity會為用戶構(gòu)建一個全屏幕的列表。如果想自定義布局,則需要確定ListView的id 為@android:id/list,以便ListActivity知道其Activity的主要清單。

下面就通過一個例子來加深對ListView的理解,如圖1所示。


圖1 ListView效果圖

1.建立一個“ListViewDemo”程序

XML文件中的代碼如代碼清單1所示。

代碼清單1 main.xml

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView
    android:id="@+id/selection"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
    <ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:drawSelectorOnTop="false"
    />
    </LinearLayout>

2.修改ListViewDemo.java文件

在ListViewDemo.java文件中,首先需要為ListView創(chuàng)建適配器,配置和連接列表,添加ListView中所顯示的內(nèi)容。

代碼清單2 ListViewDemo.java

public class ListViewDemo extends ListActivity {
    TextView selection;
    String[] items={"lorem", "ipsum", "dolor", "sit", "amet",
                    "consectetuer", "adipiscing", "elit", "morbi", "vel",
                    "ligula", "vitae", "arcu", "aliquet", "mollis",
                    "etiam", "vel", "erat", "placerat", "ante",
                    "porttitor", "sodales", "pellentesque", "augue", "purus"};
    @Override
    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    setListAdapter(new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1,items));
    selection=(TextView)findViewById(R.id.selection);
    }
    public void onListItemClick(ListView parent, View v, int position,long id) {
    selection.setText(items[position]);
    }
    }

繼承ListActivity后,可以通過setListAdapter()方法設(shè)置列表。這種情況下,提供了一個ArrayAdapter包裝的字符串數(shù)組。其中ArrayAdapter的第二個參數(shù)android.R.layout.simple_ list_item_1控制了ListView中行的顯示,上例中android.R.layout.simple_list_item_1該值提供了標準的Android清單行:大字體、很多的填充、文本和白色。重寫onListItemClick方法以在列表上子項的選擇發(fā)生變化時及時更新其文本。

在默認情況下,ListView只對列表子項的點擊事件進行監(jiān)聽。但ListView也跟蹤用戶的選擇,或多個可能的選擇列表,但它需要一些變化。

·在Java代碼中調(diào)用ListView的setChoiceMode()方法來設(shè)置選擇模式,可供選擇的模式有:CHOICE_MODE_SINGLE和CHOICE_MODE_MULTIPLE兩種?梢酝ㄟ^getListView()方法在ListActivity中獲取ListView。

·在構(gòu)造ArrayAdapter時,第二個參數(shù)選擇使用以下兩種參數(shù)可以使列表上子項單選或是復(fù)選:android.R.layout.simple_list_item_single_choice和android.R.layout. simple_list_item_multiple_choice,如圖2所示。

 
圖2 單選、復(fù)選模式

通過調(diào)用getCheckedItemPositions()方法來判斷用戶選擇的子項。

 更多相關(guān)文章

·Android系統(tǒng)控件Spinner
·Android系統(tǒng)控件CheckBox 和 RadioButton
·Android系統(tǒng)控件Button 和 ImageButton
·Android系統(tǒng)控件TextView和EditText
·Android界面布局之絕對布局