【发布时间】:2014-01-29 11:24:28
【问题描述】:
我的应用程序是关于单击按钮并更改 ViewImage 中的图像,这些图像来自服务器。我试图显示一张图像并且它正在工作,但问题是我无法在我的 ViewImage 中显示来自服务器的随机图像。 这是从服务器显示图像的代码:
package com.example.testurl;
import java.io.InputStream;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.util.Log;
import android.view.Menu;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
ImageView my_img;
Bitmap mybitmap;
ProgressDialog pd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new DisplayImageFromURL((ImageView) findViewById(R.id.my_image)).execute("http://www.tmonews.com/wp-content/uploads/2012/10/androidfigure.jpg");
}
private class DisplayImageFromURL extends AsyncTask<String, Void, Bitmap>
{
ImageView bmImage;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pd = new ProgressDialog(MainActivity.this);
pd.setMessage("Loading...");
pd.show();
}
public DisplayImageFromURL(ImageView bmImage)
{
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls)
{
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try
{
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
System.out.println("Success");
}
catch (Exception e)
{
Log.e("Error", e.getMessage());
System.out.println("Erroooooooooooor");
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
pd.dismiss();
}
}
}
这里是activity_main.xml的代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/back"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="test"
/>
<ImageView
android:id="@+id/my_image"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
它只显示一个图像,我希望它在单击按钮时随机显示服务器上的其他图像。 谢谢
【问题讨论】:
-
将随机图片 url 传递给 AsyncTask
标签: android random bitmap imageview android-imageview