Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android中ListView的簡單使用

android中ListView的簡單使用

編輯:關於Android編程

ListView控件在android中控件類中,算是比較復雜的一種,其實現一般包含以下幾個部分 1)數據的准備 2)構建適配器 3)顯示數據 在使用ListVIew這個控件時,我發現好多人都出現了這樣的問題"your content must have a listview whose id attribute is"android.R.id.List”錯誤,      然後好多網友給出的答案就是,在.xml中 android:id="@+id/list" 改為 android:id="@+id/android:list“ 其實並不一定是這樣的錯誤。首先要區別采用的是何種使用ListView方法。ListView的控件有兩種使用方法, 一、使用android內部的ListView【以一個例子來說明】 1.主.xml文件 【注意紅色部分】 <LinearLayout 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"     tools:context=".MainActivity"      android:orientation="vertical">  <ListView          android:id="@+id/android:list"         android:layout_height="wrap_content"         android:layout_width="fill_parent"         android:drawSelectorOnTop="false"         android:scrollbars="vertical"                  ></ListView>  </LinearLayout> 2.ListView顯示的內容.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/linelayout"     android:layout_height="wrap_content"     android:layout_width="fill_parent"     android:orientation="horizontal"> <TextView     android:id="@+id/key"     android:layout_height="wrap_content"          android:layout_width="wrap_content"     android:textColor="#aa0000"     /> <TextView      android:id="@+id/value"     android:layout_height="wrap_content"      android:layout_width="wrap_content"      /> </LinearLayout> 3.java文件 繼承了ListActivity類,而不是Activity類 public class MainActivity extends ListActivity { protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);    //注意此處  沒有用findViewById來取得ListView控件的id //創建hashmap型數據   ArrayList<HashMap<String,String>> mylist=new ArrayList<HashMap<String,String>>();   HashMap<String,String> map1=new HashMap<String,String>();   HashMap<String,String> map2=new HashMap<String,String>();   map1.put("key", "張三");   map1.put("value", "學生");   map2.put("key", "李四");   map2.put("value", "老師");   mylist.add(map1);   mylist.add(map2);  //構建適配器   SimpleAdapter listAdapter=new SimpleAdapter(this,mylist,R.layout.hashmap,     new String[]{"key","value"},new int[]{R.id.key,R.id.value}); //適配器中的數據時如何傳遞到ListView的,     setListAdapter(listAdapter); } 二、自定義ListView 1.主xml文件 與上面只有一處區別 android:id="@+id/list" 2.listview的布局文件: 同上 3.java文件 protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   listview=(ListView)findViewById(R.id.list);   ArrayList<HashMap<String,String>> mylist=new ArrayList<HashMap<String,String>>();   HashMap<String,String> map1=new HashMap<String,String>();   HashMap<String,String> map2=new HashMap<String,String>();   map1.put("key", "張三");   map1.put("value", "學生");   map2.put("key", "李四");   map2.put("value", "老師");   mylist.add(map1);   mylist.add(map2);     SimpleAdapter listAdapter=new SimpleAdapter(this,mylist,R.layout.hashmap,     new String[]{"key","value"},new int[]{R.id.key,R.id.value});   //listview這個對象添加setAdapter對象  listview.setAdapter(listAdapter);
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved