【发布时间】:2016-04-02 13:12:34
【问题描述】:
我有从互联网端获取图像的代码在指定的 ImageView 中使用它。当我需要将图像分配到不同的 ImageView 时,就会出现问题。我正在向这个函数 url 和 (int) i 发送两个参数。使用它们,我需要根据 i 的值(0,1 或 2)将该图像分配给 R.id.eventsImage0、R.id.eventsImage1 或 R.id.eventsImage2。我的代码是:
private class LoadImagefromUrl extends AsyncTask< Object, Void, Bitmap > {
ImageView ivPreview = (ImageView) pwindo.getContentView().findViewById(R.id.eventsImage0);
@Override
protected Bitmap doInBackground( Object... params ) {
// this.ivPreview =
String url = (String) params[0];
int i = (int) params[1];
System.out.println(url);
return loadBitmap( url );
}
@Override
protected void onPostExecute( Bitmap result ) {
super.onPostExecute( result );
ivPreview.setImageBitmap( result );
}
}
public Bitmap loadBitmap( String url ) {
URL newurl = null;
Bitmap bitmap = null;
try {
newurl = new URL( url );
bitmap = BitmapFactory.decodeStream( newurl.openConnection( ).getInputStream( ) );
} catch ( MalformedURLException e ) {
e.printStackTrace( );
} catch ( IOException e ) {
e.printStackTrace( );
}
return bitmap;
}
【问题讨论】:
-
你是说
R.drawable.eventsImageN? -
不,R.id.eventsImageN,因为我在 xml 文件中创建了三个具有此类名称的 ImageView。我不知道其他方式
-
你怎么称呼你的
LoadImagefromUrl班级 -
new LoadImagefromUrl().execute(text,i);我这样称呼它