Android ViewHolder背景颜色

2024-02-26

我正在创建一个 Android 应用程序,其中包含带有嵌套 CardView 的 RecyclerView。我需要将其他所有卡片更换为不同的颜色。我在用@Override覆盖onBindViewHolder(ViewHolder vh, int pos)方法。我需要从该方法更改背景颜色(我假设),但是没有方法可以设置 ViewHolder 的背景颜色!

抱歉我的菜鸟身份,我现在正在学习Android开发。

-Ben

编辑:代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_9);

    pieRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
    pieRecyclerView.setHasFixedSize(true);
    pies = makePies();

    pieLayoutManager = new LinearLayoutManager(this);
    pieRecyclerView.setLayoutManager(pieLayoutManager);
    PieAdapter adapter = new PieAdapter(pies);
    pieRecyclerView.setAdapter(adapter);
}

public class PieAdapter extends RecyclerView.Adapter<ViewHolder> {

    Context mContext;
    ArrayList<Pie> mPies;
    LayoutInflater mInflater;

    public PieAdapter(ArrayList<Pie> pies) {

        mPies = pies;

    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_layout, parent, false);
        return new ViewHolder(v);

    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {

        Pie currentPie = mPies.get(position);
        holder.textViewName.setText(currentPie.mName);
        holder.textViewDescription.setText(currentPie.mDescription);
        NumberFormat formatter = NumberFormat.getCurrencyInstance();
        String price = formatter.format(currentPie.mPrice);
        holder.textViewPrice.setText(price);

    }

    @Override
    public int getItemCount() {

        return mPies.size();

    }
}

private class ViewHolder extends RecyclerView.ViewHolder {

    public TextView textViewName;
    public TextView textViewDescription;
    public TextView textViewPrice;

    public ViewHolder(View v) {

        super(v);
        textViewName = (TextView) v.findViewById(R.id.textViewName);
        textViewDescription = (TextView) v.findViewById(R.id.textViewDescription);
        textViewPrice = (TextView) v.findViewById(R.id.textViewPrice);

    }
}

private ArrayList<Pie> makePies() {

    ArrayList<Pie> pies = new ArrayList<Pie>();
    pies.add(new Pie("Apple", "An old-fashoned favorite.", 1.5));
    pies.add(new Pie("Blueberry", "Made with fresh Maine blueberries.", 1.5));
    pies.add(new Pie("Cherry", "Delicious and fresh made daily", 2.0));
    pies.add(new Pie("Coconut Cream", "A customer favorite.", 2.5));
    return pies;

}

private class Pie {

    String mName;
    String mDescription;
    double mPrice;

    public Pie(String name, String description, double price) {

        this.mName = name;
        this.mDescription = description;
        this.mPrice = price;

    }
}`

The ViewHolder对象本身不是一个View。如果你想改变整个列表项的背景,你可能想调用viewHolder.itemView.setBackgroundColor(...). The itemView of a ViewHolder是无论什么View你传递到构造函数中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android ViewHolder背景颜色 的相关文章

  • adb shell 输入带有空格的文本

    如何发送带有空格的文本 例如 一些文字 using adb shell input text 找到以下解决方案 adb shell input text some stext 工作正常 但是有什么简单的方法可以用 s 替换空格吗 Examp
  • 如何在flutter android插件包中处理android生命周期

    我需要知道 android 插件包中 flutter 应用程序视图的当前状态 现在 我观察颤振视图中的状态https docs flutter io flutter widgets WidgetsBindingObserver class
  • 从ndk中的不同线程调用java方法

    我正在尝试使用 android 的 NDK 从 C 中的独立线程调用 java 静态方法 到目前为止我已经 JNIEnv env AttachJava jclass cls2 env gt FindClass com actvt showd
  • 清除堆内存以防止内存不足异常

    我知道已经有人问过有关内存不足的问题 但我没有找到解决方案 在位图工厂中 我出现内存不足异常 甚至使用 inSampleSize 1 所以我经常用 try catch 内存不足异常来包围它 因为这是一个不好的做法 try catch Out
  • Gradle 构建过程失败

    我的项目正在成功构建 突然我在 Android studio 中收到以下错误 无法找到方法 org gradle api publish maven internal publication MavenPublicationInternal
  • 如何将webview内容划分为多个页面

    我必须使用 Android 上的 PdfDocument 从 webView 创建 PDF https developer android com reference android graphics pdf PdfDocument htm
  • Google Play 服务,登录成功,但创建房间时出错

    我正在尝试 google play 服务示例 特别是 ButtonClicker2000 从 logcat 登录过程也正常 但我有另一个错误 06 01 22 43 15 478 D ButtonClicker2000 1565 Sign
  • 定时器时间不作为变量改变?

    这是我的代码 private int V Time 1 try final Timer V Timer final Handler V Handler V Timer new Timer V Handler new Handler Loop
  • 从字符串中删除重音符号

    Android 中有没有什么方法 据我所知 没有 java text Normalizer 可以从字符串中删除任何重音 例如 变成 eau 如果可能的话 我想避免解析字符串来检查每个字符 java text NormalizerAndroi
  • React Native v0.71.8 React-native-vector-icons 你看不到的图标

    我在用react native版本v0 71 8 我安装了react native vector icons库 但图标未显示 似乎链接在最新版本的 React Native 中不再起作用 所以我按照说明进行操作 但它不再编译 出现以下错误
  • Android 导航 DeepLinks - 如何区分使用导航操作进行导航与深层链接

    我有导航操作和深层链接 根据您导航的位置 将您带到某个片段 我想确定是使用了深层链接还是仅使用了导航操作 这正是KEY DEEP LINK INTENT https developer android com reference andro
  • 布局聊天气泡问题:TextView 占满整个屏幕

    我正在研究泡泡聊天 我使用具有两种布局的适配器 一种用于传入消息 另一种用于我的消息 适配器工作正常 我的问题在于传入布局 无法很好地显示传入时间文本 当消息文本增长时 会填满屏幕的整个宽度 并隐藏消息时间的文本 第一个问题 如何才能实现这
  • 在 Tensorflow-lite Android 中将位图转换为 ByteBuffer(浮点)

    在用于图像分类的tensorflow lite android演示代码中 图像首先转换为ByteBuffer格式以获得更好的性能 这种从位图到浮点格式的转换以及随后到字节缓冲区的转换似乎是一个昂贵的操作 循环 按位运算符 float mem
  • android中如何将字符串转换为unicode

    我正在解析一些unicodes from json to my android应用程序 API 给出unicodes像这样的图标 ue600 当我将这个unicode直接添加到textview like textview setText u
  • 手动添加带有依赖pom/iml文件的aar

    由于我无法使用私人 Maven 来共享我的库 因此我正在考虑共享 aar 并导入到另一个项目中 当 aar 和 jar 文件不包含任何依赖项时 就会出现问题 因此 一旦我在android studio中手动导入aar 使用Import JA
  • 如何检查设备上是否安装了电子邮件客户端

    我需要检查设备上是否安装了电子邮件客户端 我使用了以下代码 但它对我不起作用 public boolean isIntentAvailable final PackageManager packageManager getApplicati
  • FragmentMap + ActionBar 选项卡

    我一直在尝试插入一个MapView进入一个ActionBar Tab 但我什至无法解决问题 即使谷歌搜索 这是主要活动 Override public void onCreate Bundle savedInstanceState supe
  • AsyncTask的并行执行

    An 异步任务单击时执行 List
  • Android 可扩展列表视图随机播放子项

    你好 我正在使用 Android Expandable listview 并用不同的视图在其中膨胀子视图 我遇到的问题是 当我展开视图然后打开另一个父视图时 布局中的子视图会变得混乱并在代码中膨胀错误的布局 这是我的两个项目的示例代码 这是
  • Android:通过查找带有标签而不是 ID 的容器来添加片段

    我正在使用 for 循环创建片段的多个实例 在每个片段中 我需要添加另一组子片段 为此 我需要找到正确的容器 如果我使用容器的 ID 所有子片段都会添加到第一个父片段 而不是它们自己的父片段 在我的主要片段中 for ParentFragm

随机推荐

  • Javascript/jQuery:从画布中删除形状/路径

    我似乎找不到在创建画布后从画布中删除形状或路径的功能 所以我在两点之间创建一条贝塞尔曲线 beginPath bezierCurveTo stroke closePath 创建后如何将其从画布中删除 我需要能够通过调用删除函数toggle
  • 确定神经网络的适当神经元数量

    我一直在对神经网络进行一些研究 整个概念和理论对我来说很有意义 尽管我一直无法找到答案的一个问题是神经网络中应该使用多少个神经元 以获得正确 有效的结果 包括隐藏层 每个隐藏层的神经元等 更多的神经元一定会得到更准确的结果 同时对系统造成更
  • 打印当前的随机种子,以便我稍后可以使用 set.seed() 输入它

    我是这里的 R 新手 假设我有一行代码 set seed 123456 然后我想获取值 123456 以便我可以将其打印出来用于文档目的 并且如果需要的话可以在将来的某个时候重新输入该值 那么我如何获得该种子呢 请注意 我可能会注释掉上面的
  • 使用具有重叠列名的 Pandas 连接多个数据框?

    我有多个 超过 2 个 数据框想要合并 它们都共享相同的值列 In 431 x head for x in data Out 431 AvgStatisticData DateTime 2012 10 14 14 00 00 39 3359
  • 设置 android 按钮不可见,但仍附加 onClick 侦听器

    所以目前我正在我的应用程序中放入一个复活节彩蛋 我想要Button不可见 但单击时 Rick roll 到目前为止 当我说 Button setVisibility view VISIBLE Button setBackgroundColo
  • Zeppelin 无法在 docker 上加载:logErrors docker zeppelin

    我遇到的第一个问题是 如果不指定版本标签 我无法提取基本映像 这没什么大不了的 但我发现这很奇怪 在那之后 docker pull apache zeppelin 0 8 2 之后我就可以获得图像 但我尝试将其运行为 docker run
  • 是否可以在 [win-builder](http://win-builder.r-project.org/) 上构建使用 Rcpp 和 Boost.Thread 的 R 包?

    最近做了一个R包 使用Rcpp来集成R和C C 库 Boost 用于多线程 我想知道我的包是否可以构建在http win builder r project org http win builder r project org 我发现定义了
  • 使用正则表达式限制文本字段/数字字段中的输入字符?

    我在 ExtJS Form 中使用 numberField 并只想输入 0 99 范围内的正数 并且它应该只接受 2 个字符 且不超过 2 个 xtype textfield allowNegative false allowDecimal
  • SwiftUI 中的比例高度(或宽度)

    我开始探索 SwiftUI 但找不到一种方法来获得简单的东西 我希望 View 具有成比例的高度 基本上是其父级高度的百分比 假设我有 3 个垂直堆叠的视图 我想 第一个高度为 其父级高度 的 43 第二个高度为 其父级高度的 37 最后一
  • 如何在逻辑应用程序中循环遍历数组?

    我已设法将所有用户数据放入数组中 请参阅here https stackoverflow com questions 59107093 how to store all azure ad user group members in an a
  • 使用 C++、libpng 和 OpenMP 并行化 PNG 文件创建

    我目前正在尝试在 C 中实现一个基于 libpng 的 PNG 编码器 它使用 OpenMP 来加速压缩过程 该工具已经能够从各种图像格式生成 PNG 文件 我将完整的源代码上传到pastebin com 这样你就可以看到我到目前为止所做的
  • 在 null Laravel 上调用成员函数 Roles()

    我正在 Laravel 中使用户角色发挥作用 一切都工作正常 但从任何地方都出现错误 调用成员函数 Roles 或 null 这是我发送请求的 html td td
  • 未授权端点,请检查设置->安全->远程站点设置端点

    我无法通过 Twilio API 发送短信 我得到了以下异常 ERROR 未授权端点 请检查设置 gt 安全 gt 远程站点设置 端点 url global class SampleSMSTest future callout true p
  • 将项目添加到 Linux 内核链表

    我在用linux list h在我的用于实现队列 堆栈行为的代码中 头部 尾部添加API如下 static inline void list add struct list head new struct list head head li
  • 缓冲区溢出攻击(攻击实验室第 2 阶段)

    我有一个缓冲区溢出实验室 我必须为一个名为攻击实验室 http csapp cs cmu edu 3e attacklab pdf 我处于实验室的第二阶段 我必须将代码作为漏洞利用字符串的一部分注入 以使程序指向函数 touch2 的地址
  • 数据库连接和 OutOfMemoryError:Java 堆空间

    去年夏天 我制作了一个 Java 应用程序 它可以解析一些 PDF 文件并获取它们包含的信息并将其存储在 SQLite 数据库中 一切都很好 我每周左右都会向数据库添加新文件 没有任何问题 现在 我正在尝试提高应用程序的速度 我想看看如果我
  • 将广告注入 Google Chrome 扩展程序

    我正在开发一个 google chrome 扩展 并计划使用允许的功能注入广告 我检查过 广告行为 前面写着 此扩展程序将广告注入一些第三方网站 我的问题是 如何以及在哪里提及广告来源 比如说 如果我想显示 google adsense 我
  • PhoneGap 的 Flash 插件

    我正在phonegap 中开发一个html css javascript 应用程序 在该应用程序中 我需要一个 JavaScript 的 Flash 插件编码 以便为我的应用程序目的启用音频 视频 如果有人知道解决方案 请尽快回复我 您必须
  • 数据集与带有存储过程的实体框架

    整个问题已被重写以更加清晰 新项目设计 SQL Server 2012 Visual Studio 2012 Net 4 5 业务逻辑将在存储过程中实现 ASP Net 网络表单 WCF SOAP XML Web 服务使用 DBA 提供的存
  • Android ViewHolder背景颜色

    我正在创建一个 Android 应用程序 其中包含带有嵌套 CardView 的 RecyclerView 我需要将其他所有卡片更换为不同的颜色 我在用 Override覆盖onBindViewHolder ViewHolder vh in