Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> SimpleAdapter和ListActivity的簡單使用

SimpleAdapter和ListActivity的簡單使用

編輯:初級開發

這段時間都在看Java,android放了好久,現在慢慢再看

先上結果圖:

SimpleAdapter和ListActivity的簡單使用

這次首先要實現上面的效果,使用的是ListActivity和SimpleAdapter適配器

首先每一列都存放在ArrayList動態數組中,即每一列就是一個ArrayList的元素,如下:

ArrayList<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>();

然後再是布局每一列中的3個元素(Imageview,2個textVIEw,),使用Hashmap,如下:

HashMap<String,Object>map =new HashMap<String,Object>();

           map.put("ItemImage",R.drawable.checked);

           map.put("ItemTitle", "Level"+i);

           map.put("ItemText", "this isunder Level"+i);

           list.add(map);

每一列中的3元素的布局是需要另外寫XML布局文件的

然後是使用simpleAdapter的適配器來把上面的數據放到UI上去,,,simpleAdapter的參數參考這裡

===================================主文件=========================================

public class SimpleAdapterDemo extends ListActivity {

    //填充list

    private ArrayList<HashMap<String,Object>> fillList()

       ArrayList<HashMap<String,Object>> list = newArrayList<HashMap<String,Object>>();

       for(int i=0;i<10;++i)

           HashMap<String,Object> map =newHashMap<String,Object>();

           map.put("ItemImage",R.drawable.checked);

           map.put("ItemTitle", "Level"+i);

           map.put("ItemText", "this isunder Level"+i);

           list.add(map);

       return list;  

    @Override

    public void onCreate(Bundle savedInstanceState) 

        super.onCreate(savedInstanceState);

        //setContentVIEw(R.layout.main);

       ArrayList<HashMap<String,Object>> list = fillList();

        //生成適配器,把arraylist的數據放上去

        SimpleAdapter simAdapter = new SimpleAdapter(this, list,

             R.layout.items, //list中每一列的布局文件

             //每一列中三個控件對應的索引

             new String[]{"ItemImage","ItemTitle","ItemText"},

             //每一列中三個控件對應的id

             new int[]{R.id.ItemImage,R.id.ItemTitle,R.id.ItemText});

        setListAdapter(simAdapter);

    @Override

    protected void onListItemClick(ListView l, VIEw v, int position, long id) {

       // TODO Auto-generatedmethod stub

       super.onListItemClick(l, v, position, id);

        setTitle("點擊第"+position+"個項目"); 

下面是布局文件:

==================每一列中的3元素的布局是需要另外寫XML布局文件,如下==================

<?XMLversion="1.0"encoding="UTF-8"?>

<RelativeLayout   

    android:id="@+id/RelativeLayout01"   

    android:layout_width="fill_parent"   

    XMLns:android="http://schemas.android.com/apk/res/android"   

    android:layout_height="wrap_content"   

    android:paddingBottom="4dip"   

    android:paddingLeft="12dip"  

    android:paddingRight="12dip">  

<ImageVIEw   

    android:paddingTop="12dip"  

    android:layout_alignParentRight="true"  

    android:layout_width="wrap_content"   

    android:layout_height="wrap_content"   

    android:id="@+id/ItemImage"   

    />   

<TextVIEw   

    android:text="TextVIEw01"   

    android:layout_height="wrap_content"   

    android:textSize="20dip"   

    android:layout_width="fill_parent"   

    android:id="@+id/ItemTitle"  

    />  

<TextVIEw   

    android:text="TextVIEw02"   

    android:layout_height="wrap_content"   

    android:layout_width="fill_parent"   

    android:layout_below="@+id/ItemTitle"   

    android:id="@+id/ItemText"  

    />  

</RelativeLayout>  

=============main.XML布局文件=============

<?XMLversion="1.0"encoding="utf-8"?>

<LinearLayoutXMLns:android="http://schemas.android.com/apk/res/android"

    android:orIEntation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

<ListVIEw  

    android:layout_width="fill_parent" 

    android:layout_height="wrap_content" 

    android:text="@id/android:list"

    />

<TextVIEw

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:id="@id/android:empty"   //當listActivity無數據是現實這個

    android:text="sorry,no date"

    />

</LinearLayout>

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved