Android 列表项子项未刷新

Android 列表项子项未刷新,android,user-interface,listitem,Android,User Interface,Listitem,我正在编写一个自定义列表,其中显示的第三个列表项作为子项具有切换按钮。在“切换按钮”上单击它,如果是否需要切换按钮,则启动确认对话框 现在,若列表并没有滚动,那个么它工作得很好。但如果scroll listso 3rd显示为第一项,则toggleButton.setCheckedfalse的按钮切换状态在对话框取消操作后不工作 如果我遗漏了什么,有什么建议吗 编辑 通过covertviiew.gettag和 检索复选框对象 将“可见性”复选框设置为“此代码应始终运行” 检查行是否为3,并更改可见

我正在编写一个自定义列表,其中显示的第三个列表项作为子项具有切换按钮。在“切换按钮”上单击它,如果是否需要切换按钮,则启动确认对话框

现在,若列表并没有滚动,那个么它工作得很好。但如果scroll listso 3rd显示为第一项,则toggleButton.setCheckedfalse的按钮切换状态在对话框取消操作后不工作

如果我遗漏了什么,有什么建议吗

编辑

通过covertviiew.gettag和 检索复选框对象 将“可见性”复选框设置为“此代码应始终运行” 检查行是否为3,并更改可见性 如果切换可见,则根据模型数据更新状态 更改任何切换时,更新模型
这些是我们需要为这种特定于类型的需求执行的常规操作。如果问题没有得到解决,请告诉我。

要优化ViewHolder实现,需要damm。要获得目标项目视图,下面的操作非常有效

for(int i = start, j = lstSettingPreference.getLastVisiblePosition(); i <= j; i++) {
                if (ordinal == (int) lstSettingPreference.getItemAtPosition(i)) {
                    view = lstSettingPreference.getChildAt(i - start);
                    lstSettingPreference.getAdapter().getView(i, view, lstSettingPreference);
                    break;
                }
            }

参考链接:。

你也可以发布一些代码吗?类似于问题。。另请参见..@NewDeveloper我认为这不是同一个问题。我面对的是,我需要从原始列表索引中获得相同的视图,而不是从滚动后更新的列表索引中获得相同的视图。请您单独使用getView代码块好吗?@gk老板getView中有很多内容。我有它的首字母。
for(int i = start, j = lstSettingPreference.getLastVisiblePosition(); i <= j; i++) {
                if (ordinal == (int) lstSettingPreference.getItemAtPosition(i)) {
                    view = lstSettingPreference.getChildAt(i - start);
                    lstSettingPreference.getAdapter().getView(i, view, lstSettingPreference);
                    break;
                }
            }