andriod 裡面的listview是乙個顯示列表資料的控制項,非常好用,常用介面卡******adapter進行繫結,繫結**如下:
listview lstview = (listview) this.findviewbyid(r.id.listview1);
******adapter adapter=new ******adapter(context, data, resource, from, to);
lstview.setadapter(adapter);
這樣繫結的資料可以是textview,button,imagebutton等控制項,但是對於button ,imagebutton這樣的按鈕控制項無法實現單事件,接下來我們看看如何實現這樣的功能:
為了能實現這樣的功能,很多朋友喜歡繼承baseadapter適合器進行處理,其實baseadapter是乙個非常基礎的基類,對於一般的textviwe ,imageview,button控制項的資料繫結都沒有實現 ,所以我們應該繼承******adapter進行重寫getview方法
重寫類如下所示:
private class my******adapter extends ******adapter
@override
public view getview(int position, view convertview, viewgroup parent)
}
剛才我們說了繼承******adapter已經實現了常用控制項資料的繫結功能 是在getview方法的 super.getview(position, convertview, parent);
實現的,我們只要將super.getview(position, convertview, parent);的引用得到就可以了
view v=super.getview(position, convertview, parent);
這樣就可以得到乙個列表項的索引,接下來就是為listview的每一項的button新增事件了,關鍵**如下
button btn=(button) v.findviewbyid(r.id.button1);
btn.setonclicklistener(new onclicklistener()
});事件新增完了,現在出現乙個問題,當單擊某個按鈕時,按鈕事件是如何去知道單擊的是listview的哪一項呢,這時就要為每個button物件新增乙個tag了
我們這裡用listview的項position的索引作為tag
重寫getview的完整**如下:
listview的新增按鈕事件就先講到這,稍後給大家講一些listview的細節性的問題,希望對大家 有幫助,謝謝!!
ScrollView包含ListView的解決方法
scrollview 包含listview時動態計算listview的高度 param listview public void setlistviewheightbasedonchildren listview listview int totalheight 0 for int i 0,len ...
RelativeLayout之Button擺放位置
relativelayout又稱為相對布局,也是一種非常常用的布局。和linearlayout的排列規則不同,relativelayout顯得更隨意一些。它可以通過相對定位的方式讓控制項出現在布局的任何位置。1.相對位置,相對父控制項 左上,右上,居中,左下,右下 2.相對位置 相對子控制項 左上,...
Dev GridView 設定列為Button
1.gridview run designer columns columns edit選擇repositoryitembuttonedit1列 2.更改colums showbuttonmode屬性 為allwaysshow 3.columnedit中buttons的kind選擇glyph,but...