Android 是否更新ListView中的一行?
我的android应用程序具有自定义列表视图,如 这些数字是一个学生的总天数、出席天数、缺席天数或迟到天数。现在我想知道,如果我按任何重拨按钮(假设出席按钮,则出席总天数将为101,如果我按迟到按钮,则出席总天数将为100,迟到总天数将为101),我的意思是我将在运行时更改文本。我该如何操作。我发现了这个问题 及Android 是否更新ListView中的一行?,android,listview,Android,Listview,我的android应用程序具有自定义列表视图,如 这些数字是一个学生的总天数、出席天数、缺席天数或迟到天数。现在我想知道,如果我按任何重拨按钮(假设出席按钮,则出席总天数将为101,如果我按迟到按钮,则出席总天数将为100,迟到总天数将为101),我的意思是我将在运行时更改文本。我该如何操作。我发现了这个问题 及 在第一种情况下,目标vew必须从用户处获取,我如何才能做到这一点,我也不理解第二种情况。要更新单个列表项,您必须在指定位置获取视图,然后更新视图 您可以使用以下方法获取列表项:
在第一种情况下,目标vew必须从用户处获取,我如何才能做到这一点,我也不理解第二种情况。要更新单个列表项,您必须在指定位置获取视图,然后更新视图 您可以使用以下方法获取列表项:
public View getViewByPosition(int position) {
final int firstListItemPosition = filesListview.getFirstVisiblePosition();
final int lastListItemPosition = firstListItemPosition + filesListview.getChildCount() - 1;
if (position < firstListItemPosition || position > lastListItemPosition) {
// return filesListview.getAdapter().getView(position, filesListview.getChildAt(position), filesListview);
return null;
} else {
final int childIndex = position - firstListItemPosition;
return filesListview.getChildAt(childIndex);
}
}
@塞尔文到现在为止我还没有读过这样的书,你有什么参考资料吗?你怎么能这么说?我已经研究过了,它工作得很好,没有任何错误和警告。@塞尔文好的,我的问题是你怎么能这么说?你有什么参考资料吗?我搜索过,但没有找到这样的东西。在搜索时,我发现了一个类似的问题,并查看了mreichelttnx的答案。但是你能告诉我我是如何得到这个职位的(我是android新手,所以我很难理解小事情)@AmirHossain这个职位指的是你想要更新的列表项的位置。如果要更新第二个列表项,则将位置传递为2@karthek,但我希望当用户选中单选按钮时,列表视图文本更新,我如何才能做到这一点?
View viewByPosition = getViewByPosition(position;
// If the retrived view is not null then udpate the view otherwise ignore.
if (viewByPosition != null) {
//Update the view
}