檔案重新命名之動態修改ListView裡指定Item中的組件屬性,listviewitem

來源:互聯網
上載者:User

檔案重新命名之動態修改ListView裡指定Item中的組件屬性,listviewitem

         在Android實際開發過程中經常會遇到,修改ListView中某一項的值。如何達到這一目的呢?

方法主要有兩種:

第一種方式:當ListView中某一項的值發生變化之後,重新載入資料已達到更新ListView的目的。

      雖然第一種方式能夠解決問題,但不值得推薦。因為這樣會帶來不必要的資源消耗。在移動終端這種硬體資源和計算能力都有限的情況下,顯然有點得不償失了,況且使用者的體驗也不好。

第二種方式:第二種方式可以說是第一種方式的改進。ListView中某一項的值發生改變,實際上是ListView的資料來源發生了改變。既然資料來源發生了改變那麼我們就修改資料來源。

下面就拿修改ListView中某一項檔案名稱來示範具體步驟:

步驟一:擷取單擊ListView中tem的位置

//註冊單擊ListView中的Item響應的事件list.setOnItemClickListener(new OnItemClickListener() {    @Override    public void onItemClick(AdapterView<?> parent, View view,            int position, long id) {        // TODO Auto-generated method stub                    currentPosition= position; //擷取單擊ListView 中tem的位置    }  });
 

步驟二:根據單擊ListView中tem的位置更新ListView的資料來源,並通知適配器資料改變

 

String newFileName=edtFileName.getText().toString().trim();                                                    file.renameTo(new File(file.getParent(),newFileName));//重新命名//更新ListViewMap<String, Object>map=listItems.get(currentPosition);map.put("fileName", newFileName);//將新的檔案名稱添加到Map以替換舊檔案名稱listItems.set(currentPosition, map);//替換listItems中原來的mapadapter.notifyDataSetChanged();//通知SimpleAdapter資料改變


怎動態更改ListView中Item的資料?

listview 是項目中非常常用的控制項。 還是下功夫研究研究。 答案已經有了, 為何要源碼?做程式員這行就要腦子轉的快。拿來主義不支援。
 
Android 中Listview 擷取每個item的id,並動態更改item上面的顯示

在載入資料和更新資料時調用以下代碼:
// 產生適配器的Item和動態數組對應的元素
SimpleAdapter listItemAdapter = new SimpleAdapter(this, listItem,// 資料來源
R.layout.listview_orderitems,// ListItem的XML實現
// 動態數組與ImageItem對應的子項
new String[] { "ordercode", "username","userphone" },
// ImageItem的XML檔案裡面的一個ImageView,兩個TextView ID
new int[] { R.id.ItemTitle, R.id.ItemText ,R.id.ItemText1});
listItemAdapter.notifyDataSetChanged();//這句就是及時重新整理列表的
// 添加並且顯示
list.setAdapter(listItemAdapter);
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.