我正在开发一个供其他开发人员使用的 API 类。在我的一个函数中,我下载了一个 ImageView 数组并将其分配给一个静态 ArrayList 供开发人员使用。
为了从互联网上获取 ImageViews,我使用了一个以异步方法下载它们的类。我的问题是,如果我不使用资源中的 ID 初始化 ImageView,而我只是使用 ImageView imgView = new ImageView(activity); //活动由调用类传递我无法使用/显示调用此函数的活动中的图像。
我的一些代码:
这是我的 api 类中的函数(不是活动)
JSONArray banners = new JSONArray(result);
if(banners != null)
{
for(int i = 0; i < banners.length(); i++)
{
//ImageView imgView =(ImageView)activity.findViewById(R.id.imageView3);
ImageView imgView = new ImageView(activity);
JSONObject jsonObjRecv = banners.getJSONObject(i);
String ImageUrl = jsonObjRecv.getString("image");
ImageLoad downloader = new ImageLoad(imgView);
downloader.execute(ImageUrl);
imageViewsArray.add(imgView);
主要活动:
ImageView imView = (ImageView)findViewById(R.id.imageView3);
imView = AlbosBanners.imageViewsArray.get(0);
当处理程序发送下载完成的消息时,我执行的这部分代码,但活动中的图像视图保持不显示任何内容,而不是下载的图像视图。imageView3 是 MainActivity 内容 xml 的 imageview 的 id
注意:如果我在我的函数中使用这一行:
ImageView imgView =(ImageView)activity.findViewById(R.id.imageView3);
这是工作。
只是为了说明清楚-在api中,我将不知道将要使用它的应用程序的活动和xml。我希望我能清楚地解释它。我究竟做错了什么?