App Inventor學習記錄177-怎麼把清單的資料在兩個清單顯示器中移動

怎麼把清單的資料在兩個清單顯示器中移動,簡單的說起來就是,把選中項從現在的清單中刪除後,再加到另一個清單中。

記錄一下:
App Inventor學習記錄177-怎麼把清單的資料在兩個清單顯示器中移動


這次範例的完成品如下。


畫面編排的部份如下。

2個清單顯示器加 1個按鈕元件。


全部的程式方塊如下。


變數設定的部份如下。

清單_左邊的清單,這裡用 list from csv row text的方塊來產生 1~12,a,b,c,d的一個預設清單。
清單_右邊的清單,先設定成空清單。
清單_左邊的清_暫存清單_右邊的清單_暫存,這兩個都先設定成空清單。


when screen 1.initialize當螢幕初始化的時候。

清單_左邊的清單_暫存 copy list list方塊,複製清單_左邊的清單的內容。
然後 set  listview.elements to,把清單顯示器 1、2的元件設成兩個清單的內容。


when listview 1.after picking當清單顯示器 1選擇完成,這裡指的就是點擊清單顯示器上項目。

如果 listview 1.selection清單顯示器 1的選中項,沒有在右邊的清單中的話。
就用 insert list item list方塊,把 listview1.selection清單顯示器 1的選中項,就是我們在清單顯示器 1中點到的那一個項次,加到清單_右邊的清單_暫存中的第 1項。

然後用 remove list item list方塊,把清單_左邊的清單_暫存中,第 listview 1.selection index的項目移除。這裡我們用到了 listview1.selection listview1.selection index這兩個參數,舉個例子。
假設,我們有一個清單是這樣 [a,b,c,d,k,x,z],我們點擊了 z的這一項,那麼 listview 1.selection清單選中項的值就是 z,listview1.selection index清單選中項索引的值就會是 7,也是位於清單中的第 7用。

然後,我們再分別把 2個清單顯示器的元素給設定一下。
因為我們雖然改動了清單的內容,但是清單顯示器還不知道,所以這裡需要重新設定。


when listview 2.after picking當清單顯示器 2選擇完成。

這部份跟上面是相同的,只是差別在要新增或刪除的清單而已。

不想要重新拉程式方塊,或要需要範例 aia檔的話,請前往第 2頁哦!

發佈留言