2013-01-10 114 views
0

我正在Java中開發一個應用程序以發送短信。它採用PIM庫來獲取手機中的聯繫人,並使用複選框列表顯示。用戶可以選擇多個聯繫人。 我使用Vector存儲所選元素上ActionEvent使用list.getSelectedItem()獲得。這種方法的問題是,當用戶取消選擇一個項目時,它不能被刪除。 有沒有簡單的方法來從Vector刪除取消選中的項目。如何從Java ME LWUIT複選框列表中獲取多個選定項目

+0

您在ListCellRenderer中使用? – neb1

+0

@ neb1是的,我已經使用ListCellRenderer的 –

+0

可能重複的[列表使用LWUIT複選框](http://stackoverflow.com/questions/2810630/list-with-checkbox-using-lwuit) –

回答

1

我認爲,因爲你使用ListcellRenderer實現你在列表中使用函數setRenderer。此功能適用於您工作的列表。您從矢量中移除,但不更新列表(在原始列表中使用ListcellRenderer)。因此,您需要再次更新列表(並調用setRenderer(..)),只要您從矢量中刪除。

1

我想你不能從矢量中刪除一個取消選擇的數字,因爲一旦它被添加到矢量中,你就無法識別它的索引。您可以更改數據結構並使用Hashtable,這樣您就可以使用密鑰,例如識別條目的號碼以及取消選擇的時間,只需查找密鑰並將其刪除即可。

+0

但如何idetify deseletion?該列表在取消選擇時不會產生任何ActionEvent。 –

+0

它應該產生一個點擊事件,所以第一次點擊要選擇,而對於特定數量的第二次點擊,應取消。或者,您可以查看lwuit的通用列表單元格渲染器。我使用這個從PIM聯繫人列表中拉取的SMS應用程序。 – Ajibola

+0

@Ajiblola謝謝,我會嘗試。 –

1

具有檢查和取消選中列表中的項目,您可以使用以下步驟的能力:

  • 添加一個布爾變量到您的列表PIM對象
  • 一個複選框添加到從獲取它的值渲染器布爾變量
  • 然後在每個項目的用戶點擊,使用list`s監聽器捕捉到它。
  • 終於在偵聽器中將布爾值的狀態更改爲true或false。

    之後,你有一個列表,其布爾變量顯示哪些元素是由用戶選擇。

相關問題