2015-11-05 70 views
1

我已經在一個月前開始學習Android編程,並取得了一些進展。但是我確實有一個關於活動和適配器的基本問題。Android基礎知識:使用ListView和適配器的活動

我有一個列表視圖的活動,我正在使用一個適配器來「填充」列表視圖的行。我的適配器充滿了一個帶有複選框的佈局。

鑑於這種情況,如果我想單擊操作欄菜單中的按鈕(如OK按鈕),捕獲所有選中的項目並將其發送給活動,那麼我該怎麼做?

我問這個問題,因爲我無法弄清楚活動和適配器如何相互通信。從我見過的很多例子來看,複選框偵聽器似乎在適配器中,而Ok按鈕是活動中充氣的菜單佈局的一部分,因此按鈕點擊偵聽器在活動中。

因此,在這種情況下,如何在點擊確定按鈕時獲得已選項目的完整列表?

回答

2

如果您將適配器創建爲活動的實例變量,那麼您的活動可以持有對適配器的引用。使用這個你的優勢。

當您檢查或取消檢查事情並在您的適配器中收到通知時,您可以跟蹤在一組或任何您喜歡的數據結構中檢查的內容。當您在活動中點擊確定按鈕時,您可以通過向您的適配器添加一個返回此信息的方法,讓您的適配器瞭解檢查的內容。

+0

這是基本的,不是! :) – srinij

+0

@srinij - 有時你只需要一點點的正確方向!祝你好運! :) – Mark

1

首先要記住的是,無論何時你想實現你需要創建5個文件。 創建一個包含一個活動,

  1. 佈局XML文件 - >添加列表視圖部件在此文件
  2. 的java文件,其中包括要添加
  3. 創建被稱爲佈局的佈局XML列表行xml文件,其中包含您要顯示的實際佈局。在您的情況下,請在此文件中使用複選框和確定按鈕。
  4. 現在創建一個簡單的java bean類,其中只包含getter setter方法和一個構造函數
  5. 創建一個適配器類,它擴展了基本適配器,並且此適配器擴充了您的行xml文件的佈局。

現在,拿一個onclick事件聽者中就ok按鈕移到並且把裏面的if條件,顯示覆選框被選中或者未用isChecked()method.if chechbox被選中然後將下一個活動顯示使用上點擊確定按鈕的事件。

在java bean類中,如果checkbox被選中,你需要採用變量,那麼它的值將是true,如果複選框未被選中,那麼該值將是false。