问题标签 [android-viewbinder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 自定义列表单击复选框
我已经ListActivity
从Cursor
使用SimpleCursorAdapter
中填充了一个,当单击其中一个列表项时,它会启动另一个活动。我还ViewBinder
用来对数据进行一些自定义转换。
我想为CheckBox
列表中的每一行添加一个,所以我更改了视图并添加了一个CheckBox
重力权。
添加CheckBox
删除了单击项目的能力。当您按下列表项时,不再调用onListItemClick
我覆盖的方法。ListActivity
删除此CheckBox
修复程序。为什么是这样?
CheckBox
另外,如果单击列表项的主要部分但在选中项目中时具有附加功能,我如何设置列表以便它继续执行我所需的功能?将设置一个onCheckedChangedListener
工作还是为列表中的每个项目重用相同的视图实例?
android - 在 Android 上以本地化格式显示日期
我目前正在为 Android 构建我的第一个应用程序。我遇到的问题是与SimpleCursorAdapter
. 我有一个类,它封装了对SQLitedatabase
具有三个表的访问。此类负责以 ISO 格式(“yyyy-MM-dd”)存储所有日期。当从数据库中读取日期值并显示在屏幕上时,我希望它们以本地化格式进行格式化。这是我想出的方法。它使用 aViewBinder
来进行格式化:
getDateFormatView()
创建一个SimpleDateFormat
具有从 读取的模式的对象strings.xml
。使用使用常量模式构造的 aparseDatabaseDate()
解析数据库中的日期。SimpleDateFormat
yyyy-MM-dd
虽然这段代码工作得很好,但我想知道是否有更好的方法来做到这一点。我不喜欢的是我需要:
- 两个
SimpleDateFormat
对象(一个用于parseDatabaseDate()
从 解析日期字符串SQLiteDatabase
,另一个用于格式化值) java.util.Date
创建然后立即丢弃的对象- 相当多(在我看来)样板代码。
所以这就是我要问的原因:有没有更好的方法以本地化格式显示日期?
android - 一些帮助理解 ViewBInder 中的 columnIndex
如果您只想在没有上下文的情况下查看问题,请跳到底部
我正在构建的 android 应用程序有一个包含三列的简单表:
_id INTEGER PRIMARY KEY...,名称TEXT,颜色INT
此表称为categories
。我从数据库中加载我的类别并将它们输入一个SimpleCursorAdapter
以供使用,Spinner
如下所示:
我设置了一个自定义ViewBinder
,因为我希望类别名称是微调项的文本,颜色是背景颜色。我的ViewBinder
样子是这样的:
这是我的问题(最后)
在setViewValue方法中,columnIndex应该做什么?文档说“可以在光标中找到数据的列”但是当我通过setViewValue进行调试时,我点击了它三次,并且columnIndex始终为1
.
我期待调试器为 from 数组中的每个条目进入setViewValue一次,首先是 columnIndex 1
,然后是2
。或者可能对查询结果中的每一列执行一次。
上面的代码有效,我可以获得所需的功能,但这仅仅是因为我的 NAME_COLUMN 和 COLOR_COLUMN 常量。我真的很想听听对自定义 ViewBinders 更有经验的人对setViewValue及其参数的解释。
android - 访问使用适配器动态创建的对象
我ListView
用TextView
s 和Spinner
s 创建了一个动态,使用 aSimpleAdapter
和 a ViewBinder
。
Spinner
用户选择后如何访问值?
我想我需要在 my 中创建对微调器的引用ViewBinder
,但我不知道如何。我试过这个,但它不工作:
android - 修改 SimpleCursorAdapter 的数据
我正在开发一个电视指南应用程序,它使用一次ListActivity
显示一个频道/一天的电视节目。我正在RelativeLayout
为这些ListView
项目使用 a,我希望它ListView
看起来像这样:
ListView
我使用以下代码获取项目的数据:
我的问题是该start_time
字段datetime
具有以下格式:
所以我得到的是:
我想做的是使用SimpleDateFormat
( "HH:mm"
) 格式化上面的内容,所以我只得到该字段的hour:minute
一部分。start_time
我找到了SimpleCursor.ViewBinder
表明它可能是我想要的界面,但我不知道如何使用它。如果我是对的ViewBinder
,我会很感激一些关于如何使用它的示例代码的指针。否则,我还能如何实现将start_time
字段更改为简单地显示HH:mm
格式?
android - ViewBinder 的问题
我需要显示ListView
一些图像,并且我正在使用以下代码:
我有一个问题:在列表中有 4 行的空间,当我向下滚动时,第五行的图像与第一行的图像相同,随后的图像也错误。
有人能告诉我为什么吗?
android - ExpandableListActivity 中的 ContextMenu 问题
在一个ExpandableListActivity
我已经注册了一个ContextMenu
. 我想要做的是存储ContextMenu
被按下的组的子列表项的数据。根据:
v
是为其构建上下文菜单的视图。所以这个视图应该是我单击的列表项的视图,但它不是,它指的是子列表中的第一个列表项。我相信它应该返回为其构建上下文菜单的列表项的视图,但这里不是这种情况。这是我的代码:
有人可以对此有所了解吗?
编辑:
代码ExpandableListAdapter
:
的代码ViewBinder
:
android - 将变量传递给 ViewBinder
我有一个ViewBinder
充当我ListView
和数据库游标适配器之间的中间人。根据显示此数据的上下文,我需要ViewBinder
做不同的事情。
例如,以一个任务管理应用程序为例,它显示所有存在的任务组的任务。也许在这种情况下,应用程序希望在列表视图中显示任务组的名称,而如果它正在显示特定任务组之一的任务,则它不希望这样做。列表视图项可以有一个隐藏字段,并且ViewBinder
可以用于将任务组的名称映射到该字段,并在必要时将其设置为可见(按照主应用程序的说明)。
我的问题是如何告诉ViewBinder
它正在显示的上下文,以便它可以确定如何表现?
我意识到这可能可以通过实现许多不同ViewBinders
的ViewBinder
.
android - 我可以从 ViewBinder 中的 ListView 行更改 LinearLayout 的背景吗?
我有ListView
一些元素,我想根据数据库中的类型更改行的背景。我得到的是一个SimpleCursorAdapter
实例,它是函数adapter.setViewBinder(...)
。但似乎,我无法访问LinearLayout
一行。这是代码:
android - 如何使光标适应具有大量自定义行为的 ListView?
我目前正在开发一个 android 应用程序,该应用程序使用SimpleCursorAdapter
自定义ViewBinder
来设置我的ListView
.
但是,当我的列表长于屏幕大小,并且用户上下滚动时,系统会导致错误的行呈现错误的颜色等。我的理解是这是系统重用的问题视图作为滚动的优化,如此处所述。
我完全支持优化,但是我需要项目在ListView
. 解决这个问题的正确方法是什么?
我的想法是我可以实现 a CursorAdapter
,或者最好是 a SimpleCursorAdapter
,但我不知道如何去做。或者,是否只是将文本颜色设置回 my 中的默认值ViewBinder
?