问题标签 [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 - 无法使用 SimpleAdapter、ViewBinder 和 Asynctask 从 ListView 将图像设置为 ImageView
我有个问题。我正在尝试从在线资源中检索图像并将图像设置为ListView
. ImageView
但是,我不能这样做,因为我无法在其中链接我ImageView
的,ListView
因为它返回一个NullPointerException
. 我意识到我必须使用VieWBinder
将图像设置ImageView
到ListView
.
目前,我正在使用这里ImageLoader
的课程以及这里ViewBinder
的课程。
这是我的 ViewBinder 类:
SearchResults
是一个类,我从中获取了 listData,其中包含图像的 url 等数据。如何使用ImageLoader
该类将下载的图像插入到ImageView
usingListView
中ViewBinder
?
*旁注:它会给我一个错误“05-12 13:16:37.195: INFO/System.out(736): resolveUri failed on bad bitmap uri: http://lib.syndetics.com/index.aspx? isbn=9780137081851/SC.GIF&client=tpoly&type=xw12 " 以及*
android - setViewBinder/setViewValue 和 getView/LayoutInflater 的用法有什么区别?
看起来有两种可能的方法来更改ListView
行中的某些内容:
使用
setViewBinder
/setViewValue
:myCursor.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
/li>使用
getView
/LayoutInflater
:public View getView(int position, View convertView, ViewGroup parent) {
/li>
这两种方法有什么区别?
android - 如何让我的 ListView 项目具有(并保持)不同的背景?
ListView
在这个问题中,我已经为我的特定项目取得了类似的成就。
但是,现在,我希望用户能够单击项目,这实际上会突出显示用户点击的任何项目。我在我的应用程序中保留了一个被点击项目的列表,并且应该能够ViewBinder
在滚动发生时引用它,但是,因为我从来没有调整任何东西来适应LinearLayout
它ListView
本身,我不知道如何获取LinearLayout
对象为了正确设置其背景颜色。
我需要能够做到这一点,因为您可能知道,在滚动时,Android 会重新使用列表项,这很好,除非您更改单个列表项的格式(颜色等)。在这种情况下,您最终会得到颜色/格式不正确的列表项。ViewBinder
当涉及到我的列表项时,我正在使用 a来解决问题TextViews
,但不知道如何为ListView
自身的背景做类似的事情。
android - SimpleCursorAdapter 中的图像
我正在尝试使用 aSimpleCursorAdapter
来ViewBinder
从数据库中获取图像并将其放入我的ListView
项目视图中。这是我的代码:
我正进入(状态:
在执行时byte[] byteArr = cursor.getBlob(columnIndex);
。有谁知道我做错了什么?
android - 如何获取字段值而不是列名?
我想以这种方式用游标中的数据填充列表:
我使用自定义在每行ViewBinder
中填充两个TextViews
和一个:ImageView
我的问题是cursor.getString()
方法调用返回的是列名而不是字段的值,所以我得到了数百行带有列名的行。
更新:
我getAllCompanie
的 s 包括一个moveToFirst
电话,Cursor
但我仍然得到列名:
android - ListView 和记忆数据
我对 a 有一些问题ListView
(这更像是一个视觉问题),它会记住来自TextViews
、ListView
行的文本值等数据,但会混淆或忘记有关TextViews
背景颜色的方面。仅当ListView
包含许多行时才会出现问题。我使用 aSimpleCursorAdapter
和 aViewBinder
并希望在TextView
出现条件时突出显示 a:
在ViewBinder
实施中:
再说一遍:当有很多行时,ListView
似乎会混淆背景颜色。有时当我重新滚动时,它再次改变了TextView
' 的背景,我似乎无法找到错误或ListView
' 的逻辑。
那么,setViewValue(..)
每次在对一行进行充气之前都会调用该方法吗?即使您向上或向下滚动并且不再可见的行再次可见?或者该setViewValue(..)
方法仅在初始行膨胀过程中调用,然后创建的对象保存在ListView
的内存中?
PS 相同的文本值TextView
显示正确。setViewValue(..)
我在相同的方法中使用了相同的逻辑。
android - ViewBinder 中的条件操作
我希望为我的ListView
(使用SimpleCursorAdapter
with ViewBinder
)禁用一个行项目,但它不起作用:
当我删除else
时,它会随机禁用它们,如果if-else
存在,则全部启用。到底是怎么回事?
android - ListView 的内容占用大量内存
包含相当多的ListView
项目(20 个或更多),每个项目都是一个ImageView
带有位图源的项目。这些位图未压缩,大小约为 640x480。刚刚加载时ListView
,它会占用一些内存,但如果我滚动它,则"Memory exceed VM budjet"
可能会发生错误。当我用另一个片段替换片段时,ListView
它仍然挂在内存中。如何清除 ram/ListView 缓存?
更新 :
我将 aSimpleCursorAdapter
与 a 一起使用ViewBinder
:
图像在单独的线程中加载。
android - 如何更新 ListView 中所有项目的非绑定子视图?
我有一个ListView
使用自定义布局的自定义布局,该布局在自定义布局中有 5 个子View
对象(4TextView
和 1 CheckBox
)。但是,只有TextViews
绑定 -CheckBox
数据库中没有相应的字段。的目的CheckBox
只是确定我想在“下一步”中处理哪些正在显示的项目。我正在使用自定义ViewBinder
来正确分配文本值(因为数据库中的一些值是日期等)。
用户界面的一部分是三个按钮——“全部”、“无”和“反转”,我用它们来切换列表中每个项目的状态。例如,对于“全部”按钮,我使用以下代码执行此操作(我现在知道这是不正确的 - 我包含它以显示我正在尝试做的事情):
只要列表中的项目数不超过列表大小,这样就可以正常工作,以便所有项目始终可见。但是,当我超过该数字时,“getChildAt”函数有时会返回 null,因为(如果我理解正确的话)它并不意味着返回列表中的所有项目,只返回那些可见的项目,这会导致NullPointerException
.
CheckBox
即使它们不可见,如何正确设置所有视图?
android - ListView 项的 ViewBinder setViewValue 导致选中多个 CheckBoxes
我正在使用ListView
具有:
- 列表项点击
CheckBox
点击
我可以通过 using 保存 cursorPositionview.setTag(cursor.getPosition())
并且可以对选中的项目采取必要的操作,但是当我向下滚动时,我会看到其他几个已CheckBoxes
选中(仅可视)。作为一种解决方法,我尝试设置视图描述,将CheckedBox
视图 ID 保存在列表中,然后迭代以查看是否CheckBox
需要显示为已选中。但是当我向下滚动时,视图似乎被重用(相同的视图 ID)。
我怎样才能只显示实际检查CheckBoxes
?代码:
用作:
mySimpleCursorAdapter.setViewBinder(myViewBinder);