AdapterView及其子类之三:基于ListView及ArrayAdapter实现列表
生活随笔
收集整理的這篇文章主要介紹了
AdapterView及其子类之三:基于ListView及ArrayAdapter实现列表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
見歸檔項目ListViewDemo.zip.
基本步驟如下:
1、創建主布局文件,里面包含一個ListView元素。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"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=".MainActivity" ><ListView android:id="@+id/listview"android:layout_height="wrap_content"android:layout_width="match_parent"android:divider="#00ff00"android:dividerHeight="2dp"android:headerDividersEnabled="false"/></RelativeLayout>2、 創建一個TextView,用于指定每一個選項的格式
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/list"android:layout_width="match_parent"android:layout_height="20dp" android:background="#0000ff"></TextView> 3、創建主類:
package com.ljh.listviewdemo;import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; import android.app.Activity;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// (1)創建要顯示的文本內容String[] arr = { "java", "c/c++", "python", "ruby" };//(2)與使用ListActivity的最大區別:使用findViewById得到一個ListViewListView lv = (ListView) findViewById(R.id.listview);// (3)創建ArrayAdapter,其中第二個參數resource:The resource ID for a layout file// containing a TextView to use when instantiating views.是要以一個layout作為// 參數,且此layout需要包含textview。 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.list, arr);// (4)為ListActivity設置adapter.lv.setAdapter(adapter);lv.setOnItemClickListener(new OnItemClickListener(){//定義當某個選項被點擊時的操作。@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {Toast.makeText(MainActivity.this, position+" item is clicked.", Toast.LENGTH_LONG).show();}});}}
1、用途區別:二者都只能支持TextView類型,更強大的支持能力請見SimpleAdapter。
ListActivity只能支持創建單個列表,而ListView可在同一頁面創建多個列表,只要在布局文件中定義多個ListView元素即可。
2、創建時的區別:
ListActivity方法是繼承了ListActivity,從而可以直接調用setListAdapter()及onListItemClick().
ListView方法必須通過findViewById()得到一個ListView,然后再通過其調用setListAdapter(),以及設置OfnListItemClick接口。
總結
以上是生活随笔為你收集整理的AdapterView及其子类之三:基于ListView及ArrayAdapter实现列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AdapterView及其子类之二:使用
- 下一篇: RMAN之一:快速入门