Android列表查看一些问题

Android列表查看一些问题,android,listview,adapter,Android,Listview,Adapter,我对ListView有一些问题。我搜索的那篇文章不让我满意 如果我有五个列表项并在中调用notifyDataSetChanged方法 customAdapter,getView方法调用了多少次 我在每个列表上都有一个复选框,只有在单击“删除”按钮时才会显示该复选框。删除按钮是在Activity类上创建的,复选框是在Adapter类(我是指findViewById)中创建的。那我怎么处理呢? 当前我的代码更改活动类和调用上的标志值 适配器类上的notifyDataSetChanged方法 如果不调

我对ListView有一些问题。我搜索的那篇文章不让我满意

如果我有五个列表项并在中调用notifyDataSetChanged方法 customAdapter,getView方法调用了多少次

我在每个列表上都有一个复选框,只有在单击“删除”按钮时才会显示该复选框。删除按钮是在Activity类上创建的,复选框是在Adapter类(我是指findViewById)中创建的。那我怎么处理呢? 当前我的代码更改活动类和调用上的标志值 适配器类上的notifyDataSetChanged方法

如果不调用notifyDataSetChanged方法,我如何处理UI? 我以这种方式实现了

很抱歉没有发布我的代码

每次项目出现在屏幕上时获取视图调用,因此在您的情况下是5次。 你可以这样做:

2.1在适配器中创建公共方法,例如:

public void setIsDeleteModeEnabled(boolean isEnabled) {
    //Logic here
}
2.2在活动中,单击按钮时,调用adapter.setDeleteModeEnabledtrue

3仅当数据集发生更改时,才应调用notifyDataSetChanged。要处理UI事件,您应该:

在列表项中:在getView中设置onClickListeners


在活动中:在适配器中创建方法,并在活动的onClicks中调用它

感谢您的回复!!如果我假设,在我的屏幕上,有三个列表项。然后,最顶端列表项的convertview在开始时可能为null。第二个和第三个listview呢?@NaJunYeop对不起,我不明白你想要什么。请重新制作,这可能是关于取景器的。我想保存复选框的检查状态。但在滚动之后,该状态发生了变化。@NaJunYeop您可以将状态保存为Boolean ArrayList change value,并在复选框onchekedHanded中将其还原为getViewYeah,非常感谢。现在我要做的就是努力。祝您有个美好的一天!