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背景颜色 的相关文章

  • 如何对这个字符串进行子串化

    我想得到这个字符串的 4 个部分 String string 10 trillion 896 billion 45 million 56873 我需要的4个部分是 10万亿 8960亿 4500万 和 56873 我所做的是删除所有空格 然
  • 在包“android”中找不到属性“backgroundTint”的资源标识符

    我发现了一些视图 xml 属性 例如backgroundTint backgroundTintMode 但是当我使用它作为视图属性定义时 Eclipse 显示错误 No resource identifier found for attri
  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • android xamarin 中的 reCaptcha

    我想在 Xamarin android 应用程序中实现验证码 我抓住了这个在 Android 中集成 googles reCaptcha 验证 https www c sharpcorner com article how to integ
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • 将 Intent 包装在 LabeledIntent 中以用于显示目的

    要求 我的应用程序中有一个 共享 按钮 我需要通过 Facebook 分享 我需要选择是否安装原生 Facebook 应用程序 我们的决定是 如果未安装该应用程序 则将用户发送到 facebook com 进行分享 当前状态 我可以检测何时
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分

随机推荐

  • 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