개발환경... 갤럭시 탭 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"  메시지와 연관이 있는 것 같은데.. 써치를 해봐도..

확실한 실마리를 못 잡겠네요.. 쫌 도와주세요~~ㅠㅠ