0

オンライン xml ファイルから気象データのいくつかの項目を解析しました。ノードの 1 つは、表示したい画像の URL です。私はそれを解析して文字列変数として保存し、アプリに文字列として表示することができました。テキストの代わりに画像を表示するにはどうすればよいですか? 前もって感謝します!

4

2 に答える 2

1

まず、画像をダウンロードして Bitmap オブジェクトに保存する必要があります。

次に、ImageView で表示します。

この回答では、それを行う方法について詳しく説明しています

于 2012-10-17T12:38:29.070 に答える
0
public class MainActivity extends Activity {
   ProgressDialog pd;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    pd = new ProgressDialog(MainActivity.this);
    pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    new DownloadImageTask((ImageView) findViewById(R.id.imageView1))
    .execute("Your URL");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;
    DownloadImageTask(ImageView bmImage) {
        this.bmImage = bmImage;
        }
    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
        super.onPreExecute();
          pd = new ProgressDialog(MainActivity.this);
          pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    }



    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);
    } catch (Exception e) {
    Log.e("Error", e.getMessage());
    e.printStackTrace();
    }
    return mIcon11;
    }

    protected void onPostExecute(Bitmap result) {
        pd.dismiss();
    bmImage.setImageBitmap(result);
    }
    }         
 }
于 2012-10-17T13:09:49.243 に答える