Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 是否更新ListView中的一行?_Android_Listview - Fatal编程技术网

Android 是否更新ListView中的一行?

Android 是否更新ListView中的一行?,android,listview,Android,Listview,我的android应用程序具有自定义列表视图,如 这些数字是一个学生的总天数、出席天数、缺席天数或迟到天数。现在我想知道,如果我按任何重拨按钮(假设出席按钮,则出席总天数将为101,如果我按迟到按钮,则出席总天数将为100,迟到总天数将为101),我的意思是我将在运行时更改文本。我该如何操作。我发现了这个问题 及 在第一种情况下,目标vew必须从用户处获取,我如何才能做到这一点,我也不理解第二种情况。要更新单个列表项,您必须在指定位置获取视图,然后更新视图 您可以使用以下方法获取列表项:

我的android应用程序具有自定义列表视图,如

这些数字是一个学生的总天数、出席天数、缺席天数或迟到天数。现在我想知道,如果我按任何重拨按钮(假设出席按钮,则出席总天数将为101,如果我按迟到按钮,则出席总天数将为100,迟到总天数将为101),我的意思是我将在运行时更改文本。我该如何操作。我发现了这个问题


在第一种情况下,目标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
        }