【068】ListView & ArrayAdapter

來源:互聯網
上載者:User
●·● 目錄:

A1 ………… ListView 類
       ListAdapter 介面
       ArrayAdapter 類
     舉例一
       SimpleAdapter 類
       List 介面
       ArrayList 類
       Map 介面
       HashMap 類
     舉例二
       SimpleCursorAdapter 類
A2 ………… ExpandableListView 類
      SimpleExpandableListAdapter 類
     舉例三
     舉例四
A3 ………… ArrayAdapter 類在下面不同控制項中的使用

      AutoCompleteTextView
      ListView
      Spinner

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A1個    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ListView 類:

1. A view that shows items in a vertically scrolling list.

2. ListView Constructors:

  • ListView(Context context):
  • android:id="@+id/android:list"  ListActivity中使用.

3. ListView XML Attributes:

  • android:drawSelectorOnTop:選中的時候是否覆蓋選中項, 一般選擇 false.
  • android:scrollbars:捲軸顯示方式.

4. ListView Methods:

  • setAdapter(ListAdapter adapter):將資料加到 ListView 內部.
  • isItemChecked(int position):是否選中.
  • setChoiceMode(int choiceMode):
      CHOICE_MODE_NONE:無.
      CHOICE_MODE_SINGLE:單選.
      CHOICE_MODE_MULTIPLE:複選.
  • getItemAtPosition(int position):傳回值:Object.
  • getItemIdAtPosition(int position):傳回值:long.
  • getFirstVisiblePosition():傳回值:int.
  • getLastVisiblePosition():傳回值:int.
  • setOnClickListener(View.OnClickListener l):
  • setOnItemClickListener(AdapterView.OnItemClickListener listener):
  • setOnItemLongClickListener(AdapterView.OnItemLongClickListener listener):
  • setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener):
  • setSelection(int position):

通過 ListActivity 中的 onListItemClick 方法可以重寫 list item 被點擊時的事件.

●·● ListAdapter 介面:Extended Adapter that is the bridge between a ListView and the data that backs the list.

來源:android.widget.ListAdapter

●·● ArrayAdapter 類:A concrete BaseAdapter that is backed by an array of arbitrary objects.

來源:android.widget.ArrayAdapter

1> 建構函式:

  • ArrayAdapter(Context context, int textViewResourceId, List<T> objects):
      android.R.layout.simple_expandable_list_item_1:系統內建的列表樣式.
  • ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects):

2> Methods:

  • setDropDownViewResource(int res):設定下拉式清單中每一項的樣式.
      android.R.layout.simple_spinner_item:很普通的狹窄列表.
      android.R.layout.simple_spinner_dropdown_item:寬的有選項按鈕的列表(2.2).
  • createFromResource(Context context, int textArrayResId, int textViewResId):傳回值:ArrayAdapter<CharSequence>.
      在 strings.xml 中定義字串數組, 實現下拉式功能表功能.
      第二個參數引用相應的數組.
      第三個參數引用 spinner 顯示的樣式.  <<<舉例>>>

<< 舉例一 >>

效果:


第一步:布局檔案,內容就是兩個按鈕,第一個按鈕實現顯示 ListView.
第二步:在主 Activity 的第一個按鈕中只需寫入切換到另一個 Activity 的代碼即可.
第三步:寫這個"另一個 Activity".

public class lv extends Activity{    private ListView listView;    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        listView = new ListView(this);        //建立 ListView 執行個體        listView.setAdapter(new ArrayAdapter<String>(this,                 android.R.layout.simple_expandable_list_item_1,getData()));    //添加資料, 第二個是系統內建的        setContentView(listView);    //將此 listView 加入到當前 Activity 中    }        private List<String> getData(){    //資料來源        List<String> data = new ArrayList<String>();        for(int i = 1;i<=20;i++)            data.add("Hello----Hello---- " + i);        return data;    }}

●·● SimpleAdapter 類:An easy adapter to map static data to views defined in an XML file.

來源:android.widget.SimpleAdapter

1> 建構函式:

  • SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to):
      第一個參數:context.
      第二個參數:資料內容. private List<Map<String, Object>> getData(){}
      第三個參數:布局檔案. 每一項顯示的內容.
      第四個參數:從第二個參數的 Map 的鍵擷取. 通過鍵來擷取值.
      第五個參數:與第四個參數相對應的控制項 id, 會將第四個參數的內容顯示在第五個參數所對應的控制項上.

●·● List 介面:A List is a collection which maintains an ordering for its elements.

●·● ArrayList 類:ArrayList is an implementation of List, backed by an array.

  • add(E object):將指定的 object 加入到 ArrayList 中.
  • add(int index, E object):將指定的 object 加入到 ArrayList 的指定索引處.
  • clear():清除對象中的所有元素.
  • get(int index):擷取列表中指定位置的元素.
  • remove(Object object):刪除列表中指定的 object.
  • remove(int index):刪除列表中指定索引的 object.
  • size():返回對象中的元素的個數.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.