2017-07-26 83 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。我想保存复选框的检查状态。但是在滚动之后,该状态改变了。 –