私は5つのタブを持つタブ付きアプリケーションを持っています。アプリケーション内のイメージはWeb呼び出しから取得されます。たとえば、最初のアクティビティであるtab1では、イメージを返すWeb呼び出しが行われます。私はこのコードを使用していますViewFlipperでInputStreamからDrawablesを変更する
urln = new URL("http://10.84.4.2:8083/imageFolder/General/backgroundcurved.png");
con = (HttpURLConnection) urln.openConnection();
is = con.getInputStream();
curvedBG = Drawable.createFromStream(is, "CurvedBG");
is.close();
これは、すべての画像でうまく画像を取得します。しかし、私は修正できないような厄介な問題に気付きました。私は、ビューから離れて反転した後、戻ってくるとイメージのサイズが変わるようです。
最初は、オンラインの画像に問題があると思っていました。だから、それを確認するために、私はそれをオンラインで来る画像の代わりに変更しました。彼らはドロウアブルフォルダのオフラインから来ています。同じ問題が発生しかしだから私はこの
Drawable test;
InputStream testStream;
Resources res = getResources();
test = Drawable.createFromStream(res.openRawResource(R.drawable.backgroundcurved), "test");
(すべての活動は、これらのイメージを呼び出すことができるだけので、当分の間、私はこれらのグローバル変数を作った)
ました。しかし、問題はそれよりもさらに見知らぬものになります。タブ1では、設定画面にアクセスできます。そこからメニュー1またはメニュー2に切り替えることができます。メニュー1がテストドロワブルを使用している場合は、正常に動作しますが、メニュー1とメニュー2の両方でテストドロウアブル、次にメニュー1に戻り、設定に戻り、メニュー2に戻り、設定に戻り、次にメニュー1に戻り、次にメニュー1にアクセスすると、ドロウアブルは半分に縮小され、メニュー2の画像は問題ありません。私が逆にした場合、つまりメニュー2にアクセスし、次にメニュー1に、次にメニュー2にアクセスします。その後、メニュー2の画像が乱れるが、メニュー1の画像は良好である。
なぜこのようなことが起こっているのかが分かりません。同じDrawableを呼び出すページが多すぎることはありますか?または、これはviewflipperが画像をねじ込むのに問題がありますか?誰かが正しい方向に私を指すことができれば
は非常に感謝される
編集:私はそれを修正するだろう聞いたとして、私もこの方法
public Object fetch(String address) throws MalformedURLException,
IOException
{
URL url = new URL(address);
Object content = url.getContent();
return content;
}
private Drawable ImageOperations(Context ctx, String url)
{
try
{
InputStream is = (InputStream) this.fetch(url);
Drawable d = Drawable.createFromStream(is, "src");
return d;
} catch (MalformedURLException e)
{
return null;
} catch (IOException e)
{
return null;
}
}
を使用して画像を取得しようとした
サイジングの問題ですが、同じ問題が発生します。