如何重写 CursorAdapterbindView

2023-12-21

我正在尝试显示来自Cursor in a ListView,每行包含一个ImageView and a TextView。我有一个CustomCursorAdapter延伸CursorAdapter, in bindView我评估来自光标的数据,并基于该数据设置视图图像和文本。

当我运行该应用程序时ListView显示正确的行数,但它们是空的。我知道我在重写 bindView 时错过了一些东西,但我不确定是什么。

任何帮助将不胜感激。

private class CustomCursorAdapter extends CursorAdapter {

  public CustomCursorAdapter() {
    super(Lmw.this, monitorsCursor);
  }

  @Override
  public View newView(Context context, Cursor cursor, ViewGroup parent) {
    LayoutInflater layoutInflater = getLayoutInflater();

    return layoutInflater.inflate(R.layout.row, null);
  }

  @Override
  public void bindView(View view, Context context, Cursor cursor) {
    try {
      int monitorNameIndex = cursor.getColumnIndexOrThrow(DbAdapter.MONITORS_COLUMN_MONITOR_NAME);
      int resultTotalResponseTimeIndex = cursor.getColumnIndexOrThrow(DbAdapter.RESULTS_COLUMN_TOTAL_RESPONSE_TIME);

      String monitorName = cursor.getString(monitorNameIndex);
      int warningThreshold = cursor.getInt(resultTotalResponseTimeIndex);

      String lbl = monitorName + "\n" + Integer.toString(warningThreshold) + " ms";

      TextView label = (TextView) view.findViewById(R.id.label);     
      label.setText(lbl);

      ImageView icon = (ImageView)view.findViewById(R.id.icon);
      if(warningThreshold < 1000) {
        icon.setImageResource(R.drawable.ok);      
      } else {
        icon.setImageResource(R.drawable.alarm);
      }


    } catch (IllegalArgumentException e) {
      // TODO: handle exception
    }
  }
}

The bindView()方法看起来还可以。

尝试更换你的新视图() method:

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
    return mInflater.inflate(R.layout.row, parent, false);
}

并且,出于性能原因:

  • move getLayoutInflater()在里面 构造函数
  • 与所有的一样cursor.getColumnIndexOrThrow()来电, 作为ened已经说过了
    评论
  • 使用 StringBuilder 来创建您的lbl text
  • 没有必要做Integer.toString(警告阈值)... 只需使用警告阈值

稍后编辑: 你们之间唯一的区别inflate()方法,我建议的方法是创建与父级匹配的布局参数。

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

如何重写 CursorAdapterbindView 的相关文章

  • Android:使用 OAuth 访问 google 任务时出现问题

    由于 google 任务没有公共 api 我想编写解决方法并像浏览器一样请求数据 然后解析结果以进一步显示 为了访问数据 我使用 google 实现了 OAuth 身份验证来访问此 url https mail google com htt
  • Manifest Merger工具:替换失败

    我正在使用一个使用自己的 android theme 的库 因此在构建时收到以下错误 错误 55 9 任务 contacit processDebugManifest 执行失败 清单合并失败 AndroidManifest xml 中的属性
  • 从 Android 代码设置的 SECRET_CODE

    我知道如何使用清单文件中的秘密代码 它与此源代码配合良好
  • 如何在React Native Android中获取响应头?

    您好 我想在获取 POST 请求后获取响应标头 我尝试调试看看里面有什么response with console log response 我可以从以下位置获取响应机构responseData但我不知道如何获取标题 我想同时获得标题和正文
  • 如何为发布而不是调试创建密钥库?扑

    我按照使用此网站部署 flutter 的步骤进行操作https flutter io android release https flutter io android release 当我运行 flutter build apk 时出现此错
  • Camera.open()返回NULL Android开发

    我正在按照构建相机应用程序的教程进行操作http developer android com tools device html http developer android com tools device html我对 Camera o
  • Android 服务是否有办法检测设备何时锁定?

    我有一个 Android 服务 我希望在设备锁定时执行操作 我想澄清一下 我对屏幕开 关状态不感兴趣 我知道如何使用带有 Intent ACTION USER PRESENT 和 KeyguardManager inKeyguardRest
  • 放置在 NavigationDrawer 顶部的片段

    我正在尝试添加一个PreferenceFragment在我的应用程序中 问题是 它自动放置在我的顶部NavigationDrawer public class SetPreferenceActivity extends Activity O
  • 如何检查用户在EditText中输入自己的电话号码?

    用户将在我的 Android 应用程序的注册页面上的编辑文本中输入手机号码 如何检查用户输入的是他 她的手机号码而不是其他人的 我试过这个 TelephonyManager tMgr TelephonyManager mAppContext
  • 在sqlite SQL语句中与order by子句结合使用limit

    下面的两条 SQL 语句总是会产生相同的结果集吗 1 SELECT FROM MyTable where Status 0 order by StartTime asc limit 10 2 SELECT FROM SELECT FROM
  • 如何在 Android 模块中使用 FirebaseAuth

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • 如何在TableLayout中创建三列

    我正在开发一个使用的屏幕TableLayout 在这里我可以轻松创建两列 但我怎样才能创建三列呢 这里有一个例子
  • 获取手机的 z 轴和磁北极(而不是 y 轴)之间的角度

    我知道如何使用 getOrientation 方法获取手机 y 轴和磁北之间的方向角 如此处所述https developer android com guide topics sensors sensors position https
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • 有关 ListView 自定义行布局项目上的 onClick() 事件的帮助

    我有一个 ListView 其行由我格式化 每行都有 ImageView 和 TextView 的混合 我还实现了自己的适配器 并且能够通过它绘制每一行 现在 我想要这样的东西 用户单击 ImageView 不是行上的其他任何位置 但只有此
  • 按钮 - 单击时更改背景颜色

    我的活动中有 8 个按钮 我正在寻找的是 按钮具有默认背景 单击按钮时 背景颜色应更改为其他颜色 这部分非常简单 但是 当我单击任何其他按钮时 第一个按钮的背景颜色应该变回默认颜色 我知道这将使用 选择器状态 来完成 但我不太确定如何实现它
  • 如何在android asynctask中使用inputstream作为参数?

    我正在制作一个 Android 应用程序来跟踪股票详细信息 我将通过 csv 雅虎财经 检索数据 据我所知 在android 4 0中 网络连接无法在主线程上完成 因此 我将使用 asynctask 来建立连接 但是 我在参数方面遇到了一些
  • Android:RecyclerView 不显示片段中的列表项

    有人可以帮我尝试让我的 RecyclerView 出现吗 如果我不在片段中实现它 就会出现这种情况 然而 当我尝试将其实现到片段中时 CarFront 中的其他 XML 代码与 RecyclerView 分开显示 我的日志中收到此错误 E
  • Android 中循环事件的星期几和时间选择器

    我想创建一个控件 允许用户在我的 Android 活动中选择一周中的某一天 星期一 和一天中的某个时间 下午 1 00 找不到任何关于此的好帖子 好吧 我想我已经明白了 我只是不喜欢这个解决方案 因为我在一周中的某一天使用的微调器与时间选择
  • 使用单选按钮更改背景颜色 Android

    我试图通过从单选组中选择单选按钮来更改应用程序选项卡的背景 但是我不确定如何执行此操作 到目前为止我已经 收藏夹 java import android app Activity import android os Bundle publi

随机推荐

  • jQuery Datatables - 从其他页面检索信息

    我在从 jQuery 数据表获取信息时遇到问题 这是表格 我想获取表中存储的信息 我尝试通过以下方式做到这一点 var languages var people select name languageID each function la
  • 确定 WindowsIdentity 实例的嵌套组

    假设我有一个实例WindowsIdentity并想要获取它所属的组 我使用以下代码来获取列表 WindowsIdentity identity null get identity here identity Groups Translate
  • 检测到零个或 2 个或多个 [DropdownMenuItem] 具有相同的值

    我是 Flutter 新手 但我正在尝试创建一个 DropdownButtonFormField 但它不起作用 我收到一条错误消息 提示我有重复的值 有趣的是 我没有包含重复值的列表 我在 SO 上发现了一个类似的问题 解决方案说用一个值启
  • 在 Eclipse 中,我可以同时拥有多个控制台视图,每个视图显示不同的控制台吗?

    我正在开发一些在调试模式下记录到控制台的应用程序 我想从 Eclipse 内部运行和调试它们 并同时查看每个的控制台 但是 我有一个控制台选项卡 一次显示一个控制台输出 有没有办法可以将控制台拆分为多个视图 以便可以并排控制台输出 Yes
  • 以 Rails 4 形式将

    我有一个 Rails 4 表单 它在表单页面上使用 AJAX 构建部件列表 一旦零件清单建立在 ul 我想将列表作为 params 哈希中的参数值数组提交 My form div h2 prohibited this service fro
  • 如何使用下载链接从 Azure Blob 存储下载文件

    我制作了一个 Azure 云服务 您可以在其中使用 Blob 将文件上传和删除到云存储 我成功编写了一个方法 您可以从云服务中删除上传的 blob public string DeleteImage string Name Uri uri
  • 使用 Xamarin Forms 打开 PDF

    我有一个 pdf 文件 已使用 xamarin 表单添加为 Android 和 IOS 项目的 AndroidAsset 和 BundleResource 我只是希望能够使用设备默认的任何 pdf 查看器从任何设备打开这些文件 本质上 我只
  • 将 error_info 添加到 std::exception

    我正在整合boost exception到现有代码中 部分代码现在使用BOOST THROW EXCEPTION 但有些人可能仍然会抛出标准std exception 我想在中间捕获站点添加 error info 根据文档 如果异常是boo
  • Base64 电子邮件附件无法上传

    我正在使用以下脚本http stuporglue org recieve e mail and save attachments with a php script http stuporglue org recieve e mail an
  • Dlib(支持 GPU)无法正常工作,不确定?

    我的系统配置 Windows 10 Nvidia 940mx 2GB GDDR5 GPU 8GB RAM 第 8 代 i5 安装的软件 CUDA工具包9 0 cuDNN 7 1 4 在使用以下命令安装上述要求后 我已成功安装了具有 GPU
  • C# string.Substring() 或 string.Remove() [重复]

    这个问题在这里已经有答案了 我想知道使用是否是更好的做法 var a b Substring 6 Or var a b Remove 0 6 哪一个更高效 更快 显然 substring 有更多选项可供选择 但没有什么是 Remove 不能
  • NGINX/JENKINS:您的反向代理设置似乎已损坏

    我已经尝试了至少六个关于如何让 NGINX 与 Jenkins 一起工作的示例 我最近的 NGINX 配置基于以下示例 https wiki jenkins io display JENKINS Running Jenkins behind
  • 删除 Windows 性能计数器类别

    我有一个自定义性能计数器类别 Visual Studio Server Explorer 拒绝删除它 声称它 未注册或属于系统类别 如果不以编程方式执行此操作 如何删除该类别 有我可以删除的注册表项吗 据我所知 有没办法安全地删除它们 除非
  • WCF:System.Net.SocketException - 通常只允许每个套接字地址(协议/网络地址/端口)使用一次

    我有一个 WCF 服务和一个 Web 应用程序 Web 应用程序以连续方式 也称为轮询 调用此 WCF 服务 在我们的生产环境中 我很少收到此错误 因为 这是一个内部活动 用户不知道何时抛出此错误 无法连接到http localhost Q
  • 键转义序列不适用于 tmux

    我一直在使用iTerm2 and vim一阵子 当我需要使用组合键时 我遇到了一些问题 例如CTRL F10 and SHIFT F10里面一个vim会话在里面运行iTerm2 定义键绑定非常简单 例如
  • JavaScript 中的逻辑运算符——如何使用它们?

    我不明白怎么办 and 适用于布尔值和其他数据类型 你如何使用它们 JavaScript 中的所有值要么是 真 要么是 假 a b计算结果为第一个假操作数 a b计算结果为第一个真实操作数 两个运算符都不会计算返回后的任何操作数 如果所有操
  • 永远运行不完的正则表达式

    我写了一个小而朴素的正则表达式 它应该查找括号内的文本 re search r s name 我知道由于某些原因这不是最好的方法 但它运行得很好 我正在寻找的只是一个解释 解释为什么对于某些字符串 这个表达式开始花费指数更长的时间 然后永远
  • Rails 3 - 多个控制器之间共享的代码 - 将其放在哪里?

    我有两个控制器需要一段代码 但不是全部 这个方法属于哪里呢 我读过有关帮助程序的内容 但那些似乎是用于与视图相关的代码 有人提出了 lib 文件夹 但这似乎离控制器逻辑 太远 我在视图或模型中不需要它 有人遇到过此类问题吗 有三个选项 最简
  • 如何让 Gitlab 6.5 在 Apache 2.4 代理下显示其图标?

    我无法修复由 Apache 2 4 代理的 Gitlab 上的图标 我的失败可能是因为我没有使用乘客 乘客提供了自己的一系列更深层次的问题 但我采取了在代理下运行它的所有步骤 gitlab 我也跑了 sudo u git H bundle
  • 如何重写 CursorAdapterbindView

    我正在尝试显示来自Cursor in a ListView 每行包含一个ImageView and a TextView 我有一个CustomCursorAdapter延伸CursorAdapter in bindView我评估来自光标的数