こんにちはみんな私は画像のキャッシュで立ち往生しています。線形レイアウトにWebからの画像を入力する必要があります。
私はAndroidで画像をキャッシュする方法の例を検索していて、これらの例を見つけました:
- http://developer.android.com/resources/samples/XmlAdapters/src/com/example/android/xmladapters/ImageDownloader.html
- ListViewでの画像の遅延読み込み
私はそれを自分のコードに実装してみました。
String picPath = "https://www.google.lt/logos/classicplus.png";
try {
/*
View v = null;//new View(this);
ImageLoader loader = new ImageLoader(this);
ImageView im = (ImageView)this.findViewById(R.id.image);
loader.DisplayImage(picPath, im);
addImage( im);*/
LayoutInflater inflater =(LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View convertView = inflater.inflate(R.layout.item, null);
ImageView image = (ImageView)convertView.findViewById(R.id.image);
ImageDownloader down = new ImageDownloader();
down.download(picPath, image);
addImage(image);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
public void addImage( View view){
LinearLayout pubLayout = (LinearLayout)findViewById( R.id.scrollerLinearlayout);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
//setting layout_margin
params.setMargins(15, 30, 15, 30);
pubLayout.addView(view,params);
}
しかし、これはうまくいきませんでした。線形レイアウトにビューを追加し、画像をダウンロードすると再描画できないためだと思いますか?
ListViewを使用して画像キャッシュを実行する方法の例があります。しかし、リストビューを使用していない場合はどうすればよいですか。
私は自分のキャッシュを作成しますが、最初に画像をレイアウトに追加し、コールバック時にそれを更新したいので、ダウンロードした画像へのコールバックを作成する方法は?
ありがとう。