- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我试图在 ListView
中显示来自 Cursor
的信息,每行包含一个 ImageView
和一个 TextView
。我有一个 CustomCursorAdapter
扩展 CursorAdapter
,在 bindView
中,我评估来自光标的数据,并根据它设置 View 图像和文本。
当我运行应用程序时,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
}
}
}
最佳答案
bindView()
方法似乎没问题。
尝试替换您的 newView() 方法:
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return mInflater.inflate(R.layout.row, parent, false);
}
并且,出于性能原因:
getLayoutInflater()
移动到 build 者cursor.getColumnIndexOrThrow()
调用相同,正如ened在稍后编辑:您的 inflate()
方法与我建议的方法之间的唯一区别是,该方法创建与父级匹配的布局参数。
关于android - 如何覆盖 CursorAdapter bindView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4284242/
在我的应用程序中,我显示一些信息,并根据值更改 textView 的颜色。 public class DealsAdapter extends CursorAdapter { private
我正在尝试获取使用自定义 CursorAdapter 存储的数据,但到目前为止它默默地失败了。它只是加载一个空白 View 并且不打印任何内容。 这是主 fragment 的 onCreateView
好吧,因为我在搜索时没有找到执行此操作的一致方法,所以我决定将我的代码放在其他人的眼睛上可能会有所帮助。 我正在制作一款使用纸牌的游戏。根据不同的因素,这些卡可以被锁定或解锁。重要的是,我想检查 sq
我有一个 ChatActivity,它通过 CursorLoader 加载它的数据。 CursorLoader 返回一个带有两个寄存器的游标,但永远不会调用适配器中的 newView 和 bindVi
我不确定问题标题是否合适,但是在搜索了很多之后我问了这个。 在我的 SQLite 表中,我有列 1: _id 2: position 3: path position: the positio
SearchView 的方法 setSuggestionsAdapter 给我一个奇怪的错误: 我有一个扩展 CursorAdapter 的类 InformationAdapter,但它告诉我我不能将
我最近写了一个 StackOverflow 文档示例,说明了如何使用 SimpleCursorAdapter 从数据库中填充 ListView。 它被拒绝了,动机如下: Nobody should b
我正在制作一个 StudentManager 应用程序。 在MainActivity.java中,当我触摸 float 按钮时,它将切换到EditActivity.java。然后,在 EditActi
我读了这个post 但我无法解决我的问题。我在 ListView 中使用 CursorAdapter。 我在列表的每个项目中都有一个复选框。如果您选中该复选框并上下滚动。该复选框将被禁用。我无法修复它
我目前使用 CursorAdapter 和 Loader。 Loader 加载的数据包含一个位置。我想从最近到最远的顺序订购我的商品。我已经计算出显示它的距离,现在我需要找到一种方法对数据进行动态排序
CursorAdapter 有 3 个构造函数。让我们看看指南和引用。 1) CursorAdapter(Context context, Cursor c) This constructor is
我有一个 ListFragment,它显示使用 CursorLoader 和 CursorAdapter 获得的项目列表,按照处理列出。这本身工作正常,但我不确定如何使用相同的模式来显示所选项目的详细
我有一个 CursorAdapter,它是从数据库 Cursor 构建的,如果第一个项目中的 View 没有填写,它使用设置了 View 的第一个后续列表项中的 View 中出现的任何数据填充第一个项
我有一个数据库、一个 ListView 和一个扩展 CursorAdapter 的 CustomCursorAdapter。一个菜单按钮将一个项目添加到数据库中。我希望 ListView 更新并显示此
我有一个可以帮助用户组织处方的应用程序。我有一个显示药物的 ListView ,我使用 EditText 来允许用户过滤列表。我遇到的问题是每次方向改变时 CursorLoader 都会被替换。 据我
在 Ice Cream Sandwich 上,当我想恢复具有带 CursorAdapter 的 gridview 且已将 managedQuery 传递给 CursorAdapter 的应用程序时,我
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
您好,我正在开发一个带有 CursorAdapter 的 Android 应用程序来加载 ListView 。 onItemClick ListView 项目,我正在尝试开始对话 Activity 。
我正在使用 SimpleCursorAdapter 来管理我对数据库的查询,然后在 ListView 中显示结果。 这是我的代码: database.open(); ListView listCont
我正在尝试用数据库查询填充 ListView 。我正在使用扩展游标适配器的自定义适配器。我不知道要使用什么构造函数。当我使用默认的时: public AdapterListview(Context c
我是一名优秀的程序员,十分优秀!