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

歡迎訪問 生活随笔!

生活随笔

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

Android

【Android笔记】如何创建列表视图3

發布時間:2023/12/9 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android笔记】如何创建列表视图3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接著上一篇實現一個帶有復選框的列表視圖,這要求對Adapter有比較清楚的理解。
1. ?ArrayAdapter從Layout讀取TextView控件,返回給ListView顯示,這個處理在ArrayAdapter的getView方法里,我們可以繼承這個類,覆蓋getView,改成讀取CheckBox控件,看下面的代碼:CheckListView.java????class?CheckArrayAdapter<T>?extends?ArrayAdapter<T>
????{
????????
public?CheckArrayAdapter(Context?context,?int?checkBoxResId,
????????????????T[]?objects)
????????{
????????????
super(context,?checkBoxResId,?objects);
????????}

????????
public?CheckArrayAdapter(Context?context,?int?checBoxResId)
????????{
????????????
super(context,?checBoxResId);
????????}
????????
????????
public?View?getView(int?position,?View?convertView,?ViewGroup?parent,?int?resource)
????????{
????????????CheckBox?checkBox;

????????????
if?(convertView?==?null)
????????????????checkBox?
=?(CheckBox)LayoutInflater.from(getContext()).inflate(resource,?parent,?false);
????????????
else
????????????????checkBox?
=?(CheckBox)convertView;
????????????
????????????T?item?
=?getItem(position);
????????????
if?(item?instanceof?CharSequence)
????????????????checkBox.setText((CharSequence)?item);
????????????
else
????????????????checkBox.setText(item.toString());

????????????
return?checkBox;
????????}
????}

?


2. ?前一篇的CheckListView類改為從ListActivity繼承,ListActivity默認以ListView為根視圖,因此不需要Layout文件以及調用setContentView。CheckListView.java????public?class?CheckListView?extends?ListActivity
????{
????????@Override
????????
protected?void?onCreate(Bundle?savedInstanceState)
????????{
????????????
super.onCreate(savedInstanceState);
????????????
????????????CheckArrayAdapter
<String>?adapter?=?new?CheckArrayAdapter<String>(
????????????????????
this,?R.layout.checkbox_item,?mStrList);
????????????getListView().setAdapter(adapter);
????????????getListView().setOnItemClickListener(
new?AdapterView.OnItemClickListener()
????????????{

????????????????@Override
????????????????
public?void?onItemClick(AdapterView<?>?parent,?View?view,?int?pos,
????????????????????????
long?id)
????????????????{
????????????????????ListView?listView?
=?(ListView)parent;
????????????????????CheckBox?checkBox?
=?(CheckBox)listView.getChildAt(pos);
????????????????????checkBox.setChecked(
!checkBox.isChecked());
????????????????}
????????????});
????????????getListView().setSelection(
2);
????????}
????????
????????
private?String?[]?mStrList?=?
????????{
????????????
"Hello1",
????????????
"Hello2",
????????????
"Hello3"
????????};
????}

?

?? ?在onCreate里,我們創建一個CheckArrayAdapter,其構造函數要求傳入一個以CheckBox為根視圖的Layout文件ID,怎么樣創建Layout已經非常熟悉,不再描述。不過創建了Layout后需要對CheckBox設一個屬性,將Focusable設為False,只有這樣,ListView才能得到按鍵事件,才能觸發OnItemClickListener。?? ?調用getListView()將返回ListActivity里的ListView控件。?? ?在ItemClick事件,切換CheckBox的選中狀態。
3. ?運行程序看效果:?? ?

轉載于:https://www.cnblogs.com/lingo/archive/2010/04/04/1704385.html

總結

以上是生活随笔為你收集整理的【Android笔记】如何创建列表视图3的全部內容,希望文章能夠幫你解決所遇到的問題。

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