개발환경... 갤럭시 탭 10.1 (android 3.1) 이구요
구현은 ViewFlipper를 사용하여 WebView를 로드 하였습니다.
onCreate() 안에는
if (DEVELOPER_MODE) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork()
.penaltyLog()
.build());
}
Thread thread = new Thread(null, loadDetail); //쓰레드 객체 생성
thread.start();
-----------------------------------------------------------------------------------------------------------------------------------------------------
thread() 안에는
/***
* Thread : Handler -> loadDetail
*/
private Runnable loadDetail = new Runnable() {
@Override
public void run() {
try {
handler.post(getDetailReport);
} catch (Exception e) {
Log.d("DEBUG",e.toString());
}
}
};
/***
* Thread : loadDetail -> getDetailReport
*/
private Runnable getDetailReport = new Runnable() {
@Override
public void run() {
vf.removeAllViewsInLayout();
LHS_DetailWebViewLoader detailWebView[] = new LHS_DetailWebViewLoader[detailPageCount];
for (int i = 0; i < detailPageCount; i++) {
detailWebView[i] = new LHS_DetailWebViewLoader(LHS_detail);
detailWebView[i].setWebView(LHS_detail);
detailWebView[i].loadUrl("http://10.144.9.131/WISE.web.Mobile/"+detailReportTypeArray.get(i)+".aspx?reportId="+detailReportIdArray.get(i)+"&deviceType=2");
detailWebView[i].setWebViewClient(new LHS_DetailWebViewClient());
detailWebView[i].setScrollbarFadingEnabled(false);
detailWebView[i].setScrollContainer(false);
detailWebView[i].setVerticalScrollBarEnabled(false);
vf.addView(detailWebView[i], i);
}
}
};
---------------------------------------------------------------------------------------------------------------------------------------------
클래스 안에 WebView 로드 클래스를 따로 둠..
class LHS_DetailWebViewLoader extends WebView {
public LHS_DetailWebViewLoader(Context context) {
super(context);
}
public LHS_DetailWebView lhsDetail = null;
public void setWebView(LHS_DetailWebView lhsDetail) {
this.lhsDetail = lhsDetail;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
lhsDetail.onTouch(lhsDetail.vf, ev);
return super.onTouchEvent(ev);
}
}
실행 동작은 버튼 클릭시 쓰레드가 동작하고... 하위 페이지에서 넘어오는 페이지 수 만큼 url를 호출하여 WebView를 ViewFlipper안에서
띄우게 해놓았는데....예로, 5개 페이지 중 첫 페이지는 잘 로드가 되어서 보여 지는데.. 2번째, 3번째 페이지가 안보이는 현상이
일어남.. 테스트를 해보면 다 잘나오는 경우도 있고, 위와 같이 또 중간중간 안나오는 페이지가 생깁니다.... ㅠㅠ
로그캣 로그 확인 결과 "can't get the viewwidth after the first layout" 메시지와 연관이 있는 것 같은데.. 써치를 해봐도..
확실한 실마리를 못 잡겠네요.. 쫌 도와주세요~~ㅠㅠ