为什么 setImageResource 不显示任何内容?

2024-04-03

我想根据数据库值在 ListView 中显示一个图标。我跟随this https://stackoverflow.com/questions/2192082/android-changing-an-imageview-src-depending-on-database-field-data/2193727#2193727回答这样做。 但结果什么也没有显示。这是我的row.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal">

    <ImageView
        android:id="@+id/movie_subscribed_icon"
        android:padding="3dip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/star_off"/>

    <LinearLayout 
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical">

     <TextView android:id="@+id/movie_name"
     ...

这是代码:

    movies.setViewBinder(new SimpleCursorAdapter.ViewBinder() {

        @Override
        public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
          int viewId = view.getId();
          switch(viewId) {
          case R.id.movie_name:
                  int readValue = cursor.getInt(cursor.getColumnIndexOrThrow(MoviesDbAdapter.KEY_READ));
                  if (readValue == 1) { // viewed movie item
                      TextView movieName = (TextView) view;
                      movieName.setTextColor(Color.GRAY);
                  }
                  break;
          case R.id.movie_subscribed_icon:
              int subscribedValue = cursor.getInt(cursor.getColumnIndexOrThrow(MoviesDbAdapter.KEY_READ));
                  if (subscribedValue > 0) { // subscribed movie item
                      ImageView movieIcon = (ImageView) view;
                      movieIcon.setImageResource(R.drawable.star_off);
                  }
              break;
          }
          return false;
        }

      } );

我特别在代码中使用与默认图标相同的图标。 这里有什么问题吗? (我有star_off in drawable-hdpi and drawable-mdpi仅文件夹)

Upd。下面的代码运行良好:

movieIcon.setImageDrawable(getResources().getDrawable(R.drawable.star_off));

公共无效setImageResource(int resId) http://developer.android.com/reference/android/widget/ImageView.html#setImageResource%28int%29:这会在 UI 线程上进行位图读取和解码,这可能会导致延迟。如果这是一个问题,请考虑使用 setImageDrawable(Drawable) 或 setImageBitmap(Bitmap) 和 BitmapFactory 代替。

尝试使图像视图无效,或使用文档建议的替代方案之一。

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

为什么 setImageResource 不显示任何内容? 的相关文章

随机推荐

  • QString 的运算符 <<

    为 QString 实现 std ostream operator lt lt std ostream stream const QString str stream lt lt str toAscii constData or strea
  • 浏览器也可以缓存嵌入的 Base64 图像吗?

    我想知道是否有任何现代浏览器实际上缓存了嵌入的图像 base64 字符串 这在不久的将来有可能吗 基于 W3C 或主要浏览器的官方文档 我不这么认为 因为你错过了Resource Identifier作为缓存图像的键 对于嵌入图像 您只有数
  • 使用 pandas 标记每组的每 N 行

    我有一个数据框 其中包含客户信息及其购买详细信息 我正在尝试添加一个新列 指示同一客户每进行第三次购买 下面给出的是数据框 customer name bill no date Mark 101 2018 10 01 Scott 102 2
  • input:not(:placeholder-shown) ~ 标签选择器不适用于自动填充

    我在输入字段中有浮动占位符 当我们未提供输入值时 占位符将出现在中心 如下图所示 电子邮件和密码为占位符 现在 当您向电子邮件提供值时 它确实如下所示 观察提供值后 电子邮件和密码已被提取 当浏览器开始从页面加载时保存的凭据 如用户名 电子
  • NSCalendar NSDateComponents weekofYear 返回 1,日期为 2014-12-31

    我想获得日期为 2014 12 31 的 weekofYear 但它总是返回 1 而不是 52 这是我的代码 NSCalendar calendar NSCalendar currentCalendar NSUInteger unitFla
  • 为什么 Google 的 pandas_datareader 不起作用?

    我尝试通过以下代码从谷歌财经获取数据 import pandas datareader data as wb import datetime as dt start dt datetime 2015 1 1 end dt datetime
  • nginx php 友好的 URL 重定向,不会干扰 index.php 导致 /index

    我尝试了很多不同的配置来启用任何以 php 结尾的请求的永久重定向 以重定向到不带 php 的自身 问题是 我无法获得将使用 index php 发送到任何目录的请求重定向到 而不是 index 的规则 Example 期望的行为 blog
  • 如何获取系统设备语言,swift iOS

    如何使用 swift iOS 获取系统设备语言 而不是应用程序语言 我没有遇到任何问题 我想从以下位置获取设备语言设置 gt 常规 gt 语言该用户将语言设置为 我尝试了下面的代码 let appLang Locale preferredL
  • 如何处理异步。护照和猫鼬的 findOrCreate 方法

    身份验证模块 Passport 需要 FindOrCreate 方法才能进行登录 我使用 mongoose 来保存我的用户 其架构如下 var UserSchema new Schema firstname String lastname
  • AspectJ Maven 插件无法编译我的项目

    我尝试使用aspectj maven插件使用aspectj编译器来编译项目 然后尝试将类打包到 war 文件中 不幸的是 它不适用于以下配置 pom xml
  • 限制属性的字符串长度

    当我试图找出一个更大的问题时出现了这个问题 为了简单起见 我省略了这个问题 我必须用 C 表示某种数据结构 它是一种用于与外部系统通信的协议 因此 它具有一系列具有预定义长度和整数 或其他更复杂的数据 的字符串 我们假设 SYSTEM fo
  • Android WebRtc 本地视频流无法在棉花糖上显示,但可以在棒棒糖上显示

    添加的库 libjingle peerconnection jar Version 1 7 0 101 libjingle peerconnection so so 等级依赖性 fi vtt nubomedia utilities andr
  • 无法在VS2010/SQL Server 2012中使用SSIS SSDT

    我在本地计算机上安装了完整版本的 Sql Server 2012 并从安装包 和更新 安装了 SSDT 然后 我打开 SSDT Visual Studio 应用程序并安装 Microsoft 的 SSDT 包 该包似乎工作正常 但是 当我尝
  • 在我的包的子包中运行 python 脚本

    无法弄清楚正确 python 2 x 首选方式进行相对导入 以便我可以将测试脚本放在一个子包中 并使这些测试脚本能够测试我的库 farm testpad testpad py Traceback most recent call last
  • 在闪亮的应用程序中在后台运行任务

    我有一个闪亮的应用程序 它通过以下方式获取输入selectizeInput并将数据输入到固定大小的数据框中 该数据框会在用户输入数据时显示和更新 当用户输入数据时 数据框被填充 每次用户输入新数据时 我都会使用谷歌表格 https gith
  • QT QGraphics场景绘制圆弧

    我有一个关于在场景上绘制特定弧线的问题 我有关于弧的信息 起始坐标 起始角度 结束角 半径 但我无法有效地使用它们QPainter 其实我尝试过QPainterPath使用形状来显示QGraphicsScene with addPath 但
  • 当Android应用程序关闭或失去焦点时如何调用方法?

    因为我正在构建的应用程序将处理相当敏感的数据 所以我想在每次用户登录时将 SQLite 数据库与服务器同步 并在每次应用程序失去焦点时删除空数据库 因为用户移动到主屏幕或另一个应用程序 Seeing 活动生命周期 http develope
  • 如何在 Intellij IDEA 中查找父传递依赖项

    我可以看到我的项目的 Gradle 依赖项有 2 个版本的 google guice 库 com google inject guice 4 0 和 com google inject guice 3 0 我试图找到这些是从哪个父库导入的
  • 如何在 Pester 测试中模拟 Read-Host?

    如果我有这个功能 Function Test Foo filePath Read Host Tell me a file path 我如何模拟读取主机以返回我想要的内容 例如我想做这样的事情 这不起作用 Describe Test Foo
  • 为什么 setImageResource 不显示任何内容?

    我想根据数据库值在 ListView 中显示一个图标 我跟随this https stackoverflow com questions 2192082 android changing an imageview src depending