記錄一下:
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頁哦!