2012-04-25 2 views
1

탭이있는 탭 응용 프로그램이 있습니다. 응용 프로그램의 이미지는 웹 호출에서 가져옵니다. 예를 들어, 첫 번째 활동 인 tab1에서 이미지를 반환하는 웹 호출을합니다. 이 코드를 사용하고 있습니다.ViewFlipper로 변경되는 InputStream의 그림 파일

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

각 페이지로드시 이미지를 재설정해야하는 문제가 수정되었습니다.

관련 문제