2012-04-25 6 views
1

私は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; 
    } 
} 

を使用して画像を取得しようとした

サイジングの問題ですが、同じ問題が発生します。

答えて

1

各ページの画像をリセットする必要があった問題を修正しました。

関連する問題