滚动列表视图时文本视图中的数据切换

Posted

技术标签:

【中文标题】滚动列表视图时文本视图中的数据切换【英文标题】:Data in the text view toggling while scrolling list view 【发布时间】:2018-10-13 15:35:17 【问题描述】:

我有一个列表视图,其中每行都有一个文本和一个按钮。当我单击按钮时,文本视图中的文本会发生变化。到目前为止还不错。但是当我滚动列表视图时,文本更改为其默认文本。请帮助我在滚动时如何在列表视图中单击按钮时显示更改的文本。

我想要像上面的图片。但是当我滚动列表视图时,我变得像下面的图片

【问题讨论】:

发布您的适配器代码 sn-p 【参考方案1】:

尝试以下步骤:

    您应该使用默认文本的数组/ArrayList,例如 plus、plus...,然后将此数组/ArrayList 传递给您的 CustomListAdapter。

    在 getView() 中的 CustomListAdapter 中:从 array/ArrayList 设置 textview 上的文本。

    单击按钮时:您应该更新数组/ArrayList 中的字符串,对应于单击的索引并调用 notifyDataSetChanged()。

已编辑答案 -

private void updateText(int position, String text) 
    arrayList.set(position, text);
    notifyDataSetChanged();

现在在两个按钮点击时调用上述方法

点击减号按钮-updateText(position,"minus");

点击加号按钮-updateText(position,"plus");

【讨论】:

如何更新clicked index对应的arrayList?请帮忙 通过在按钮内部使用 click-arrayList.set(position,"minus"); 谢谢。它正在工作。我想再问一件事。如果有两个按钮并排,比如一个名为“加号”的按钮和另一个名为“减号”的按钮。如果我点击加号它会显示“加号”,如果我点击减号,它将显示“减号”。如何做到这一点?

以上是关于滚动列表视图时文本视图中的数据切换的主要内容,如果未能解决你的问题,请参考以下文章

列表视图edittext数据在Android中滚动时丢失

当我滚动表格视图时,文本字段中的数据设置为 null

视图控制器上的表视图控制器

滚动时ListView位置问题

向上滚动时,Textview 重置为旧值

自定义滚动谷歌颤动中的水平列表视图