好的,尝试从我的 SD 卡中获取图像以显示在活动ListView
中。
我正在阅读很多提示,但我错过了一个重要的部分。我很想看到一个简短的源代码来说明这一点,还没有找到任何东西。
根据我的研究,这听起来像是在执行bindview()
时被调用listview.setadapter(SimpleCursorAdapter adapter)
。文档说,setImageView
如果bindview
无法ViewBinder
处理ImageView
.
您指定数组中的字段、FROM
数组中的、id
和视图组。然后将适配器设置为,瞧,它发生了。TextView
TO
Cursor
TextView
ListView
我认为调用顺序是:
listView.setAdapter(SimpleCursorAdapter adapter)->adapter.bindView()->adapter.setTextView
Bindview 必须确定视图的类型为TextView, determine that it can bind it, passes the
TextView and text value from the cursor and
setTextView` 做它的事。
所以,这使得呼吁ImageView
非常相似,对吧?
listViw.setAdapter(SimpleCursorAdapter adapter)->adapter.bindView()->adapter.setImageView
那么当bindView
遇到 type 的 object 时ImageView
,它会做什么呢?有没有像 in 这样的默认实现setTextView
?我想这很难做到,图像差异很大。文本是文本,但图像具有格式、大小、深度、比例、位置等。传递给的字符串setTextView
是文本,即有效负载。在图像中,字符串(可能)是文件名,只是图像的起点。
我想我需要使用包含文件名的数据库列名来构建我的适配器FROM
。该TO
数组将只有ImageView
我的布局中的 id。我想我可以使用默认的 viewbinder bindview(),但必须重写setImageView()
以获取预期的字符串(文件名),并构建图像加载行以在预期的应用程序路径中找到该图像名称。
所以这将是(也许):
listView.setAdapter(MyOwnSimpleCursorAdapter myOwnAdapter)->myOwnAdapter.super.bindView()->myOwnAdapter.setImageView()
这听起来对吗?如果有人可以填补缺失的空白和/或提供一些工作源代码,那将有很大帮助。顺便说一句,我已经编写了代码来执行此操作,但它不起作用。这可能是一个非常简单的错误,如果可行的话,不想停止这个线程。我想我只需要在正确的方向上稍微推动一下。