使用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?但如何?的主要内容,如果未能解决你的问题,请参考以下文章