2013-08-02 177 views
0

我需要暫停我的屏幕一段時間,因爲我有一個數據庫,以顯示.....我顯示每行我的數據庫的XML佈局...問題是XML佈局總是展現的淋漓盡致從我的數據庫底部...這就是爲什麼我相信,如果ICAN停一停我就可以看到從佈局與另一排屏幕...暫停屏幕

這裏是我的代碼:

public void get() { 
    Bundle bundle = getIntent().getExtras(); 
    String count = bundle.getString("x"); 
    //Toast.makeText(getApplicationContext(), count, Toast.LENGTH_SHORT).show(); 
    db = new DBAdapter(this); 
    db.open(); 
    Cursor z = db.getAllList(); 
     if (z.moveToFirst()) 
     { 
      do { 
       DisplayList(z,count); 
      } while (z.moveToNext()); 
     } 
     db.close(); 
} 

public void DisplayList(Cursor z, String count) { 
    String b = z.getString(1); 
    if (count.equals(b)) { 
     /*Toast.makeText(this, 
       "Id  : " + z.getString(0) + "\n" + 
       "Product : " + z.getString(1) + "\n" + 
       "Brand : " + z.getString(2) + "\n" + 
       "Place : " + z.getString(3) + "\n" + 
       "Date : " + z.getString(4) + "\n" + 
       "Price : Rp. " + z.getString(5), 
       Toast.LENGTH_LONG).show();*/ 
     TextView X = (TextView) findViewById(R.id.a); 
     TextView Y = (TextView) findViewById(R.id.b); 
     TextView Z = (TextView) findViewById(R.id.c); 
     TextView A = (TextView) findViewById(R.id.d); 
     TextView B = (TextView) findViewById(R.id.e); 
     String a = z.getString(1); 
     String f = z.getString(2); 
     String c = z.getString(3); 
     String d = z.getString(4); 
     String e = z.getString(5); 
     X.setText("Product  : " + a); 
     Y.setText("Brand  : " + f); 
     Z.setText("Bought at : " + c); 
     A.setText("Date   : " + d); 
     B.setText("Price   : Rp. " + e); 
    } 
} 

我的計劃是暫停顯示列表之後:

do { 
DisplayList(z,count); 
    //here 
} while (z.moveToNext()); 

任何想法?我嘗試了Thread.Sleep但沒有用......

像這樣:

do { 
DisplayList(z,count); 
    try {Thread.sleep(1000); 
      } catch (InterruptedException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
} while (z.moveToNext()); 
+0

你的意思是你想在幾秒鐘後覆蓋每行的TextViews。你不能在listview中顯示所有數據嗎? –

+0

是的,你明白我的意思,但問題是...列表視圖是小....因爲你可以看到我想同時顯示5個信息 –

+0

好的。得到它了。你是如何使用Thread.sleep的?你可以顯示該代碼嗎? –

回答

1

試試這個。它可能工作。

do { 
     Thread myThread = new Thread() 
     @Override 
     public void run() { 
      try { 
        super.run(); 
        sleep(3000) //Delay of 3 seconds 
       } catch (Exception e) { 
        System.out.println(e.getLocalizedMessage(); 
       } finally { 
         DisplayList(z,count); 
       } 
      } 
     }; 
     myThread.start(); 
    } while (z.moveToNext()); 
+0

現在我來試試 –

+0

我想...但卡在公共無效的run()的行.... X標誌該行..說不上爲什麼..回合枚舉說和@expected任何...想法? –

+1

將鼠標懸停在紅線上時出現什麼錯誤? @CharlesLynch你能準確複製嗎? –

相關問題