2012-02-23 40 views
0

我已經看到了大量支持列表中每個項目的複選框的樣本,但這似乎與它們一樣遠。我的問題是我有兩個相互作用的物品清單。帶有CheckBox和可選項目的Android ListView

第一個列表顯示方法語句 - 當用戶選擇方法語句時,第二個列表顯示此方法語句的風險評估列表。我有這一切工作沒有問題。

我現在需要擴展它,以便用戶可以選擇(通過複選框)他們想要使用的方法語句。這意味着我不希望選擇listitem來設置或清除複選框,只需填充第二個列表框即可。然而,我確實需要用戶能夠手動檢查項目以包含它。

任何建議,請大家歡迎 - 也許一個ListView不是正確的方式來做到這一點,也許是一個動態創建的滾動視圖內的表?

回答

0

我會試試這種方式。

  1. 將ListView的選擇模式設置爲NONE。
  2. 使用TextView和CheckBox構建一個ViewGroup(線性/相對/框架佈局)。它將 是一個ListView的單元格。
  3. 當您在適配器中綁定視圖時,請在CheckBox上設置CompoundButton.OnCheckedChangeListener。將視圖的位置放置在Integer中,並將其設置爲單元格的標記(請記住:在具有視圖的綁定數據中執行此操作)。

    private static class MyOnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener { 
         @Override 
         public void onCheckedChange(...) { 
           Integer position = (Integer) view.getTag(); 
           //your logic with position 
         } 
        } 
    

或者只設置OnClickListener。

這個想法是:讓CheckBox可點擊並讓它消耗點擊事件 - 然後它的父代不會收到這個事件,並且AdapterView.OnItemClickListener不會被觸發。

相關問題