使用matrixcursor加载带有缩略图的自定义ListView?但如何?

Posted

技术标签:

【中文标题】使用matrixcursor加载带有缩略图的自定义ListView?但如何?【英文标题】:Loading custom ListView with thumbnail image by using matrixcursor? but how? 【发布时间】:2014-04-05 20:08:57 【问题描述】:

我有一个问题让我呆了两个星期。请考虑我不是安卓专家程序员。所以我依赖你的帮助。

我的应用程序中的 mainactivity 扩展了一个 ActionBarActivity。就我而言,我想为用户显示两个不同的视图(例如视图 A 和视图 B)。使用 SectionsPagerAdapter 可以在它们之间滑动。视图 A 有两个按钮“添加”和“显示”。通过单击“添加”按钮,可以添加一个人。为此,必须输入姓名和金额。如果我想添加一个人,也可以但没有必要用相机拍摄和保存照片。照片存储在 SD 卡上。有关添加人员的信息存储在 sqlite 数据库中。如果我添加了一个带有照片的人,那么我还将照片的路径作为字符串存储在数据库中。 “显示”按钮打开另一个活动,以在自定义列表视图中显示有关数据库中添加的人员的存储信息。

我的列表视图的行有两个文本视图(用于名称和数量)和一个图像视图。到目前为止一切正常。我可以使用简单的光标适配器来加载信息

cursor = myDBHandler.getAllPersons();   

//n= name, a=amount, p=picture
    final String[] from = new String[] "n", "a", "p";

    int[] to = new int[] R.id.txt_name,
                          R.id.amount,
                          R.id.list_userImage;

    simpleCursorAdapter = new SimpleCursorAdapter(this, R.layout.mainlist_listrow, cursor, from, to);
 mainList.setAdapter(simpleCursorAdapter);

我的问题是加载或获取保存的照片作为列表视图的缩略图。存储的照片太大(2448x3264 像素)。我的 imageview 的大小为 50x50dip。

我发现了这个tutorial。我认为,这可能会对我有所帮助,但我不确定如何在我的案例中使用这些方法。我不想显示我的 sd 卡上的所有图片,只显示照片,哪些路径存储在数据库中。我怎么说,我不是专家级的程序员。我不理解教程中的代码行,我很困惑。我什至不确定这是否有效。当然每个人都知道android中的联系人列表。即使照片非常大,联系人也可以显示缩略图。我想要同样的功能。请帮我解决这个问题。

【问题讨论】:

没有人能帮我解决这个问题?? :O 【参考方案1】:

你能在你的图像视图中实现这样的东西吗:(它应该自动使图像适应视图中的那个大小)

image_view.requestLayout();
image_view.getLayoutParams().height = 50;
image_view.getLayoutParams().width = 50;

找到这个here。然而,我发现在我的情况下,将每张图像制作成我想要的尺寸会更容易。然后调整每个图像的大小不会导致内存过载。

【讨论】:

以上是关于使用matrixcursor加载带有缩略图的自定义ListView?但如何?的主要内容,如果未能解决你的问题,请参考以下文章

Youtube 未加载高分辨率缩略图

带有简单缩略图的衬垫合身

如何嵌入带有 4000 多个视频的缩略图的 youtube 频道

带有 ALAsset 缩略图的低清晰度

Wordpress 图片库缩略图网格 - 点击查看更多

WordPress-显示带有缩略图的子页面