日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android之个性化ListView实现

發布時間:2025/3/8 Android 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android之个性化ListView实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

Android中提供的ListView部件,用來在android手機中展現一個列表,這個列表的表現形式,完全由你選擇的Adapter有關系,android框架中已有的adapter,形式都比較單調,能處理的數據都很一般。要想實現一個美觀的列表,就得寫自己的個性化adapter。?

具體過程分為這幾步:?
第一步:定義自己的ListView類,繼承android的ListView類。?
Java代碼?
  • public?class?CustomerizeListView?extends?ListView?{??
  • ???//..??
  • }??

  • 第二步:在自定義ListView類中寫一個自己的個性化Adapter類,因為和自己的ListView類相關,那就定義成內部類, 同時讓它繼承BaseAdapter類。例如在CustomerizeListView中添加一個CustomerizeListAdapter內部類,如下:?
    Java代碼?
  • public?class?CustomerizeListView?extends?ListView?{??
  • ???//..??
  • ???/**?
  • ????*?Uses?for?setting?data?into?CustomerizeListView.?
  • ????*/??
  • ???protected?class?CustomerizeListAdapter?extends?BaseAdapter?{??
  • ??????//..??
  • ???}??
  • }??

  • 第三步:做一個自己個性化的layout,如下:?
    Xml代碼?
  • <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:orientation="horizontal"??
  • ????android:layout_width="fill_parent"??
  • ????android:layout_height="fill_parent">??
  • ????<ImageView?android:id="@+id/icon"??
  • ????????android:layout_width="32dip"??
  • ????????android:layout_height="32dip"?/>??
  • </LinearLayout>??

  • 第四步:在自定義ListView中追加自己需要的數據。例如,在CustomerizeListView中追加一個customerizeData屬性,用來提供顯示用的數據,如下:?
    Java代碼?
  • protected?Data?customerizeData;??

  • 第五步:復寫BaseApter類中getView方法,在當中追加自己的個性化外觀代碼,如下:?
    Java代碼?
  • public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{??
  • ????//..??????
  • ????convertView?=?LayoutInflater.from(context).inflate(R.layout.list_item_icon,?null);??
  • ????//Set?data.??
  • }??

  • 第六步:在自己的ListView構造器中設置自己的個性化Adapter。例如在FilesListAdapter構造器中添加這樣的代碼,如下:?
    Java代碼?
  • setAdapter(new?CustomerizeListAdapter(context));??


  • ??? 到目前為止,個性化ListView就基本上實現完畢!但這只是一個外觀,不能響應用戶的操作,我們可以通過添加OnItemClickListener來響應用戶的操作,添加OnItemClickListener這一步可以拿到別的地方去做,但是我覺得最好是在自定義ListView里面就追加自己的OnItemClickListener,原因是往往用戶點擊item時,響應需要的數據都和ListView相關,拿到外面去做不方便,有時可能會破壞封裝。例如我們就可以在CustomerizeListView構造器添加它本身的OnItemClickListener,如下:?
    Java代碼?
  • setOnItemClickListener(new?OnItemClickListener()?{??
  • ????????????public?void?onItemClick(AdapterView<?>?arg0,?View?arg1,?int?arg2,??
  • ????????????????????long?arg3)?{??
  • ????????????????//?Your?processing?procedure.??
  • ????????????}??
  • ????????});??


  • 下面是我自己開發的一個文件瀏覽夾瀏覽的例子。?
    瀏覽文件:?
    ?

    顯示一個子文件:?
    ?

    選擇一個文件:?
    ?

    注意:
    ?
    ????? 1.apk文件,運行1.6的模擬器上面;?
    ????? 2.源代碼附上。?
    • fileExplorer_apk.zip?(16.7 KB)
    • 描述: apk文件,運行在1.6的模擬器上
    • 下載次數: 82
    • fileExplorer_src.zip?(43 KB)
    • 下載次數: 293
    • 查看圖片附件

    轉載于:https://my.oschina.net/201003674/blog/288903

    總結

    以上是生活随笔為你收集整理的Android之个性化ListView实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。