gpt4 book ai didi

android - 在我的每个列表项上显示缩略图

转载 作者:行者123 更新时间:2023-11-29 16:18:40 25 4
gpt4 key购买 nike

我有一个已解析的 ListView 。元素的数量不固定。当我单击 ListView 的一个项目时,它会根据需要在其他 Activity 上显示相应的文件。到目前为止,这一切都按照我的意愿进行。现在我想在每个列表项上显示缩略图。每次点击打开的文件是一个“.png”文件,我也想在列表中将该 png 显示为缩略图(每个项目都有其各自的缩略图)我怎样才能做到这一点??我是 android 的新手,所以请给我代码示例以寻求帮助。我已经做了很多搜索并阅读了有关延迟加载的东西,但对我来说非常复杂。在此先感谢您的帮助!!

最佳答案

您需要为 ListView 扩展适配器,然后在适配器的 getView() 方法中指定自定义布局。

private class MyAdapter extends ArrayAdapter</*params*/> {

private ArrayList</*params*/> items;

//you will a reference to a context in getView()
private Context ctx;

public MyAdapter(Context context, int resourceId, ArrayList</*params*/> items) {
super(context, resourceId, items);
this.items = items;
this.ctx = context;
}

//here is where you can create a custom view for each list item
@Override
public View getView(int position, View convertView, ViewGroup parent) {

View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.my_custom_view, null);

//Your custom view will contain an ImageView
//which you can assign the thumbnail to.
ImageView image = (ImageView)convertView.findViewById(R.id.my_custom_view_thumbnail);

//set the thumbnail from a drawable resource
new GetImage("http://www.example.com").execute(image);

}

return v;
}
}

用于下载图片

public class GetImage extends AsyncTask<ImageView, Void, ImageView> {

String url = null;
Bitmap thumbnail = null;
public GetImage(String url){
this.url = url;
}
@Override
protected void onPreExecute() {

}

@Override
protected ImageView doInBackground(ImageView... params) {

try {
thumbnail = BitmapFactory.decodeStream((InputStream) new URL(url).getContent());

} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return params[0];

}

@Override
public void onPostExecute(ImageView result) {
result.setImageBitmap(thumbnail);

}
}

关于android - 在我的每个列表项上显示缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8324932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com