2010-11-11 43 views
0

這是我的代碼,onActivityResult捕獲了我創建的意圖,但是 我的問題是沒有使用setContentView(R.laout.waiting)。 R.layout.waiting不是在android上顯示。相反,屏幕會完全黑暗幾秒鐘,直到它完成代碼的其餘部分,但它會顯示setContentView(tv);. 我怎樣才能強制android顯示佈局之前移動到其餘的代碼。android佈局不會顯示,如何強制它顯示?

public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
     super.onActivityResult(requestCode, resultCode, intent);  


     setContentView(R.layout.waiting); 
     SystemClock.sleep(100000); 


     IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);      
     displayScanResults(scanResult.getContents());  
} 

公共無效displayScanResults(字符串UPC) {

item.scanItem(upc); 
    tv = new TextView(this); 
    tv.setText("" + item.getResults().get(0)); 
    setContentView(tv);  

}

回答

1
public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    super.onActivityResult(requestCode, resultCode, intent);   
    setContentView(R.layout.waiting); 
    IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); 
    final Activity act = this; 
    Thread t = new Thread() { 
    public void run() { 
     try { 
      sleep(10000); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
    e.printStackTrace(); 
     } 
     act.runOnUiThread(new Runnable() { 
      public void run() { 
      act.displayScanResults(scanResult.getContents());  
       } 
      }); 
     } 
    }; 
    t.start(); 
} 

這應該爲你工作。