2017-07-26 33 views
0

我對ListView有一些疑問。我搜索到的郵政不滿足我。Android ListView一些問題

  1. 如果我有五個列表項,並調用notifyDataSetChanged()方法 customAdapter,多少次叫getView方法?

  2. 我在每個列表上都有一個複選框,並且只有在單擊刪除按鈕時才顯示它。刪除按鈕在活動類上創建,複選框在適配器類中創建(我的意思是findViewById)。那我該如何處理呢? 目前,我的代碼更改了Activity Class的標誌值,並且在適配器類上調用了 notifyDataSetChanged()方法。

  3. 如何在不調用notifyDataSetChanged()方法的情況下處理UI? (我用這種方式實現...)

對不起,我沒有發佈我的代碼。

回答

1
  1. 每次當物品出現在屏幕上時都會收到查看呼叫,所以在你的情況下它是5次。
  2. 你可以做這樣的事情:

    2.1在適配器中創建一個公共方法,例如:

    public void setIsDeleteModeEnabled(boolean isEnabled) { 
        //Logic here 
    } 
    

    2.2在你Activity,當點擊Button呼叫adapter.setDeleteModeEnabled(true);

3僅當數據集更改時,才應該撥打notifyDataSetChanged()。要處理UI事件,您應該:

在列表項中:您應該在getView()中設置onClickListeners;

ActivityonCreate()方法適配器,並調用它在Activity的onClicks

+0

感謝您的答覆!如果我想,在我的屏幕上,有三個列表項。然後,最上面的列表項的convertview可能在開始時是空的。第二個和第三個listview呢? –

+0

@NaJunYeop對不起,我不明白你想要什麼。 Refrase請 – Valentun

+0

也許是關於ViewHolder。我想保存複選框的檢查狀態。但是在滾動之後,該狀態改變了。 –