gpt4 book ai didi

android - onBindViewHolder 方法中的进度条问题

转载 作者:太空狗 更新时间:2023-10-29 14:45:01 25 4
gpt4 key购买 nike

我已经将第三方库用于进度条,一切正常,但在 onBindViewHolder 方法中,当我编写 holder.donutprogress.setFinishedStrokeColor(colorsdark[progresspoint])

每个项目都重复相同的颜色,当我看到日志颜色不同但只有第二个位置的颜色在进度条中重复

public class RatingAdapter extends RecyclerView.Adapter<RatingAdapter.ViewHolderRating> {


ArrayList<RatingResp> ratingModalList;
public Activity mActivity;

int colorsdark[]={R.color.progress_one_dark,R.color.progress_two_dark,R.color.progress_three_dark
,R.color.progress_four_dark};

int colorslight[]={R.color.progress_one_light,R.color.progress_two_light,R.color.progress_three_light
,R.color.progress_four_light};

int progresspoint=0;


class ViewHolderRating extends RecyclerView.ViewHolder {
@Nullable
@BindView(R.id.item_progress_rate)
DonutProgress donutprogress;
public ViewHolderRating(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}

public RatingAdapter(Activity activity, ArrayList<RatingResp> items) {
this.ratingModalList = items;
this.mActivity = activity;
}
@Override
public ViewHolderRating onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_rating_raw, parent, false);
return new ViewHolderRating(view);
}

@Override
public void onBindViewHolder(ViewHolderRating holder, int position) {
configureViewHolderRating( holder, position);
}

private void configureViewHolderRating(RatingAdapter.ViewHolderRating holder, int position) {
if (progresspoint==4){
progresspoint=0;
}
Log.e("Progress color ",": "+colorsdark[progresspoint]);
RatingResp ratingResp = ratingModalList.get(position);
holder.donutprogress.setFinishedStrokeColor(colorsdark[progresspoint]);
holder.donutprogress.setUnfinishedStrokeColor(colorslight[progresspoint]);
holder.donutprogress.setInnerBottomTextColor(colorsdark[progresspoint]);
holder.donutprogress.setTextColor(colorsdark[progresspoint]);
progresspoint=progresspoint+1;
holder.donutprogress.setSuffixText(" ");
holder.donutprogress.setProgress(Integer.parseInt(ratingResp.getRating()));

}
@Override
public long getItemId(int position) {
return position;
}

@Override
public int getItemCount() {
return ratingModalList.size();
}
}

这就是我将数据附加到回收 View 的方式

 LinearLayoutManager layoutManager
= new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false);
ratingAdapter = new RatingAdapter(getActivity(),ratingModalArrayList);
recrating.setLayoutManager(layoutManager);
recrating.setItemAnimator(new DefaultItemAnimator());
recrating.setAdapter(ratingAdapter);

最佳答案

所以基本上我不知道它是如何工作的,但我只是添加了

  int colorcodedark = ContextCompat.getColor(mActivity, colorsdark[progresspoint]);
int colorcodelight = ContextCompat.getColor(mActivity,colorslight[progresspoint]);

它的工作现在只需将方法 configureViewHolderRating 更改为以下代码

    private void configureViewHolderRating(RatingAdapter.ViewHolderRating holder, int position) {
RatingResp ratingResp = ratingModalList.get(position);
if (progresspoint==4){
progresspoint=0;
}else{

}
int colorcodedark = ContextCompat.getColor(mActivity, colorsdark[progresspoint]);
int colorcodelight = ContextCompat.getColor(mActivity,colorslight[progresspoint]);
holder.donutprogress.setFinishedStrokeColor(colorcodedark);
holder.donutprogress.setUnfinishedStrokeColor(colorcodelight);
holder.donutprogress.setInnerBottomTextColor(colorcodedark);
holder.donutprogress.setTextColor(colorcodedark);
progresspoint=progresspoint+1;
holder.donutprogress.setSuffixText(" ");
holder.donutprogress.setProgress(Integer.parseInt(ratingResp.getRating()));

}

如果有人可以通过在方法中添加两个变量来帮助我了解它是如何开始工作的,那就太好了

关于android - onBindViewHolder 方法中的进度条问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41542794/

25 4 0
文章推荐: git - 在 Centos 上使用 Jenkins 配置 git
文章推荐: HTML、CSS : Display HTML code with `` , `<pre>` 或 `code` ?</a> </div> <div> 文章推荐: <a class="a-tag" href="/article/18/727317/detail.html" target="_blank">html - CSS 显示 :block and position:fixed</a> </div> <div> 文章推荐: <a class="a-tag" href="/article/18/727316/detail.html" target="_blank">javascript - 如何在 React Native 中使用参数/回调弹出 View</a> </div> </div> <div class="content-p"> <ul class="like-article"> <li> <a class="a-tag" href="/article/23/3661226/detail.html" target="_blank">jquery - 在我的网页上显示动态数据(进度)</a> <p>我正在开发一个在 gridview 中显示数据表内容的网页。而且,还有一个名为“发送到 Excel”的按钮。如果用户单击此按钮,该程序将开始生成报告(将数据表内容写入 excel 文件)。完成后,会出</p> </li> <li> <a class="a-tag" href="/article/21/1910338/detail.html" target="_blank">javascript - promise 进度</a> <p>理论:我在开始时做出了大约 100 个 promise ,然后使用 Promise.all() 解决它们。 这 100 个 promise 中的每一个依次进行一些异步 REST 调用,其响应可能主要不</p> </li> <li> <a class="a-tag" href="/article/18/1047138/detail.html" target="_blank">Python tarfile 进度</a> <p>在将文件添加到 python 中的 tar 存档时,是否有任何库可以显示进度,或者可以扩展 tarfile 模块的功能来执行此操作? 在理想情况下,我想展示 tar 创建的总体进度以及关于何时完成的预</p> </li> <li> <a class="a-tag" href="/article/23/8211977/detail.html" target="_blank">xcode - 进度 View xcode的高度</a> <p>有没有办法在 Xcode 中更改进度 View 栏的高度? 我正在使用 Xcode 4.3 并且需要一个垂直进度条。我旋转了栏,但现在无法更改高度并且显示为一个圆圈。 还有一种更有效的旋转进度条的方法</p> </li> <li> <a class="a-tag" href="/article/23/8038697/detail.html" target="_blank">Swiftui 进度 View 隐藏</a> <p>您好,我想在栏按钮项上制作未确定的进度 View 。完成后我想让它隐藏,但 hidden() 方法没有像 disabled(Bool) 这样的参数。任务完成后如何隐藏进度 View ? 这就是我要的 </p> </li> <li> <a class="a-tag" href="/article/23/8008804/detail.html" target="_blank">Django - 显示 Action 进度</a> <p>我有一个管理员控制的功能(导入数据库)可能需要一些时间才能完成,所以我想在这段时间内向用户显示一些反馈 - 例如进度条,或者只是一些消息。即使在长时间的 Action 中分部分发送页面也足够了。 在 </p> </li> <li> <a class="a-tag" href="/article/23/7743478/detail.html" target="_blank">progress-4gl - 进度 if 语句</a> <p>我是一个进步的菜鸟,实际上在基本 block 方面有问题。 下面的问题是在我的 if else 语句中。它在 if, then, else then 时工作正常,但是当我想将多个语句放入 if 部分时</p> </li> <li> <a class="a-tag" href="/article/23/7663789/detail.html" target="_blank">unix - 如何在没有回车的情况下显示日志文件的 rsync 进度?</a> <p>我有一个来自 rsync 命令的日志文件,其中有进度。运行此进度时,会更新同一行上的显示信息。当我捕获此命令的输出时,我得到一个在终端上使用 cat 正常显示的文件(重播所有退格键和重新编辑)但我希望</p> </li> <li> <a class="a-tag" href="/article/23/7537324/detail.html" target="_blank">delphi - 如何显示长时间过程的 GUI 进度?</a> <p>我需要处理一些数据,每 5-10 秒显示一个进度(我以 % 显示进度,但我也更新了一些图表)。我想在没有多线程的情况下做到这一点。 循环可能相当大。它可以从数百万开始,可以高达数十亿。 我可以使用 G</p> </li> <li> <a class="a-tag" href="/article/23/7203047/detail.html" target="_blank">javascript - 重新加载页面而不影响 YouTube 进度</a> <p>我正在致力于使用 PHP、HTML 和 JavaScript 制作半直播互联网 channel 。 您可以在此处查看演示:http://mariocreative.host/chanelko/inde</p> </li> <li> <a class="a-tag" href="/article/23/6489257/detail.html" target="_blank">wpf 动画加载 'dot' 进度</a> <p>我实际上正在使用图像为“点点点”进度设置动画。我想通过使用下面的代码来使用不透明度。 动画将持续 3 秒,有没有更简单的动画方法? 最佳答案 这是一个快速版本,它会在控</p> </li> <li> <a class="a-tag" href="/article/23/5278867/detail.html" target="_blank">c - 如何在C中保存do...while状态/进度?</a> <p>我写了这个程序,它返回用户插入的最大整数。现在,我希望程序返回第二大整数。我创建了一个新变量(称为“状态”),该变量应该在每次循环重复时增加 1 个单位。然后,在中断条件发生后,我将在状态变量中后退 </p> </li> <li> <a class="a-tag" href="/article/23/4962431/detail.html" target="_blank">java - 是否可以在没有外部文件的情况下保存 Java 进度?</a> <p>我正在制作一个需要保存进度的java游戏。但我不想让外部文件保存进度(像《我的世界》这样的游戏有一个存储文件的“保存”目录)。所以基本上我希望它存储一些数据,当用户退出并再次返回时可以检索这些数据。比</p> </li> <li> <a class="a-tag" href="/article/23/4884429/detail.html" target="_blank">android - 获取 RenderScript 进度</a> <p>我正在使用 forEach_root 方法在 Android 上计算图像。 RenderScript RS=RenderScript.create(context); Allocation inPix</p> </li> <li> <a class="a-tag" href="/article/23/4426622/detail.html" target="_blank">ios - 进度 View 循环</a> <p>我希望这个进度 View 在完成后基本上“重置”。 尝试将计数重置为 0,它确实重置了,但是对于每次重置,计时器只会变得越来越快。 .h @property (nonatomic, strong) N</p> </li> <li> <a class="a-tag" href="/article/23/4215567/detail.html" target="_blank">java - Wicket - 进度/多个标签更新</a> <p>我不确定这是否可能。当您单击“提交”按钮时,似乎有一种方法可以做到这一点。 private Button getButton(String id) { return new AjaxButto</p> </li> <li> <a class="a-tag" href="/article/23/4105341/detail.html" target="_blank">ios - 在循环期间更新 UIProgressBar 进度</a> <p>我找不到关于如何在迭代循环时更新 UIProgressbar 进度的明确答案,例如: for (int i=0;i<items.count;i++) { Object *new = [Obje</p> </li> <li> <a class="a-tag" href="/article/23/4088259/detail.html" target="_blank">ios - 进度 View 翻转和缩放</a> <p>我正在尝试在 Xcode 中翻转 UIProgressView 180,同时我正在尝试缩放进度 View 。在我添加翻转之前缩放效果很好,然后缩放不再起作用。有什么建议么?谢谢! [self.seco</p> </li> <li> <a class="a-tag" href="/article/23/4068512/detail.html" target="_blank">ios - 进度 HUD 显示太晚</a> <p>我目前正在通过评估 prepareForSegue 中的 segue.identifier 动态加载新 View : - (void)prepareForSegue:(UIStoryboardSegu</p> </li> <li> <a class="a-tag" href="/article/23/4037849/detail.html" target="_blank">ios - 进度 View 无限步?</a> <p>当任意进程发生时,我需要在屏幕上为用户提供状态。我无法知道需要多长时间。我怎样才能永远增加 progressView (当它接近 1 时它会减慢)。 最佳答案 This如果您愿意更换进度 View ,</p> </li> </ul> </div> </div> <div class="resource col-xs-3 col-sm-3 col-md-3 col-lg-3"> <div class="content-p content-p-comment"> <div class="phone-current phone-current-float"> <img alt="" src="/images/phone/manphone.jpeg"> </div> <div class="phone-current-float phone-current-style"> 太空狗 </div> <div class="phone-current-summary"> <span><strong>个人简介</strong></span> <p> 我是一名优秀的程序员,十分优秀! </p> </div> </div> <div class="content-p content-p-comment"> <article class="p-list"> <div class="art-margin" style="border-bottom: 1px solid #f3f0f0; padding-bottom: 5px;"> <strong>作者热门文章</strong> </div> <ul class="recomment-list-user"> <li><a class="a-tag" href="/article/18/625999/detail.html" target="_blank">c - 在位数组中找到第一个零</a></li> <li><a class="a-tag" href="/article/18/625996/detail.html" target="_blank">linux - Unix 显示有关匹配两种模式之一的文件的信息</a></li> <li><a class="a-tag" href="/article/18/625993/detail.html" target="_blank">正则表达式替换多个文件</a></li> <li><a class="a-tag" href="/article/18/625990/detail.html" target="_blank">linux - 隐藏来自 xtrace 的命令</a></li> </ul> </article> </div> <div class="content-p content-p-comment"> <article class="p-list"> <div class="art-margin" style="border-bottom: 1px solid #f3f0f0; padding-bottom: 5px;"> <strong>滴滴打车优惠券免费领取</strong> </div> <img alt="滴滴打车优惠券" src="/images/ad/didiad.png" width="210px" onclick="window.open('/ad/didi', '_blank')"> </article> </div> <div class="content-p content-p-comment"> <article class="p-list"> <div class="art-margin" style="border-bottom: 1px solid #f3f0f0; padding-bottom: 5px;"> <strong>全站热门文章</strong> </div> <ul class="recomment-list-user"> <li><a class="a-tag" href="/article/92/8827144/detail.html" target="_blank">开源-Ideal库-特殊时间扩展方法(三)</a></li> <li><a class="a-tag" href="/article/92/8827143/detail.html" target="_blank">多校A层冲刺NOIP2024模拟赛20</a></li> <li><a class="a-tag" href="/article/92/8827142/detail.html" target="_blank">Node.js构建命令行工具:实现ls命令的-a和-l选项</a></li> <li><a class="a-tag" href="/article/92/8827141/detail.html" target="_blank">在GithubAction管道内集成CodeCoverageReport</a></li> <li><a class="a-tag" href="/article/92/8827140/detail.html" target="_blank">鸿蒙自定义组件生命周期</a></li> <li><a class="a-tag" href="/article/92/8827139/detail.html" target="_blank">Nuxt.js应用中的schema:extend事件钩子详解</a></li> <li><a class="a-tag" href="/article/92/8827138/detail.html" target="_blank">基于surging的木舟平台如何通过Tcp或者UDP网络组件接入设备</a></li> <li><a class="a-tag" href="/article/92/8827137/detail.html" target="_blank">使用Boost.asio与Boost.beast基于协程连接ws</a></li> <li><a class="a-tag" href="/article/92/8827136/detail.html" target="_blank">精选2款C#/.NET开源且功能强大的网络通信框架</a></li> <li><a class="a-tag" href="/article/92/8827135/detail.html" target="_blank">内核源码+vscode+bear+clang实现函数任意跳转,无缝跳转,无缝阅读,无缝开发</a></li> </ul> </article> </div> </div> </div> </div> <div class="foot-font" style="border-top: 1px solid #f3f0f0; margin: auto; padding: 15px; background-color: #474443" align="center"> <a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank"><span class="color-txt-foot">Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号</span></a> <br/> <a href="/" target="_blank"><span class="color-txt-foot">广告合作:1813099741@qq.com</span></a> <a href="http://www.6ren.com" target="_blank"><span class="color-txt-foot">6ren.com</span></a> </div> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d1cb9c185f1642d6f07e22cafa330c45"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d46c26b2162aface49b8acf6cb7025e1"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>