ListView 包含Button 的事件問題

2021-06-05 22:50:27 字數 1339 閱讀 2118

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...