您好,登錄后才能下訂單哦!
上一篇博文講述了listView的另外2種常見適配器類.今天我來為大家講如何動態的增加刪減listView內的內容.本次所用的代碼以第二篇有關listView的博文代碼為基礎。如果大家需要的話請到那篇博文的附件下載代碼。地址http://7735447.blog.51cto.com/blog/7725447/1271626。如果大家對我的博文有什么意見或者有什么疑問可以給我留言我會盡所能的修改博文以及回答問題
1:動態增加內容
原理:listView顯示的行布局數量是由適配器類的getcount方法返回的數量決定,這里我返回是用來裝數據對象的list容器類對象的size()的方法。所有當容器的大小改變時就可以動態的改變內容
(1):我們先在布局文件里面放入2個按鈕控件
(2):回到代碼在讓Activity類實現按鍵點擊事件的接口,然后通過id找到2個按鈕的對象并為其加上監聽具體代碼如下
public class MainActivity extends Activity implements OnClickListener
Button btn1 = (Button) findViewById(R.id.button1); Button btn2 = (Button) findViewById(R.id.button2); btn1.setOnClickListener(this); btn2.setOnClickListener(this);
(3):在重寫接口onClick()方法里面使用使用系統傳來的View參數區分哪個按鈕被按下
@Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: break; case R.id.button2: break; default: break; } }
(4):在id為button1(這里button1為增加內容)里面我們往容器添加一個ItemData對象(這個類是自己寫的具體見第二篇博文)然后調用適配器mAdapter對象的notifyDataSetChanged()方法通知系統我們更新了數據。具體代碼如下
Itemdata itemdata = new Itemdata("title","subtitle",a[0]); mData.add(itemdata); mAdapter.notifyDataSetChanged();
(5):添加內容寫好了,當我們沒傳數據的時候容器的size為0所以沒任何內容(如下圖所示)
然后我們點擊增加消息按鈕(這里我點擊了2次);就出現了2個新內容
2:刪除內容
(1):上面我們已經在按鍵監聽方法寫了增加內容的方法,接下來我們繼續寫刪除內容代碼。類似于添加代碼。首先判斷容器對象有沒有內容,如有有的話就用remove方法把最后一行的的內容刪除,然后調用監聽器對象的notifyDataSetChanged()方法通知系統我們更新了數據。具體代碼如下
if(mData.size() > 0) { mData.remove(mData.size()-1); mAdapter.notifyDataSetChanged(); }
這樣刪除代碼寫好了,基于上一張圖的內容我們來刪減一個,如下圖
現在大家就可以做到動態的增加刪除listView的內容了,由于代碼超過2m,所以不能用附件了。大家可以到我的上傳文件去下載 名字是ListView_03
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。