2012-02-14 37 views
0

基本上,我想要在活動開始時立即將紡車加載,然後在完成時消失。但是,在我當前的代碼中,只有在按下某個鍵時纔會啓動。我應該如何替換onKeyDown方法,以便所有內容自動啓動?如何更換KeyEvent?

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event){ 
    pd = ProgressDialog.show(this,"Working", "Fetching Grades", true, 
      false); 
    Thread thread = new Thread(this); 
    thread.start(); 
    return super.onKeyDown(keyCode, event); 
} 
public void run(){ 
    //String userthat = userThing.getText().toString(); 
    //String passthis = passThing.getText().toString(); 
    thisthing = new ClientLoginForm(user2s,pas2s); 
    try{ 
     grades +=thisthing.returnGradies(); 
    } catch (Exception e){ 
     grades +="Connection Problems"; 
    } 
    handler.sendEmptyMessage(0); 
} 
private Handler handler = new Handler(){ 
    @Override 
    public void handleMessage(Message msg){ 
     pd.dismiss(); 
     tv.setText(grades + "\n " + pas2s + " " + user2s); 
    } 
}; 
+0

那麼,爲什麼你把代碼放在onKeyDown()方法? – 2012-02-14 12:28:43

回答

0

放的onkeydown()代碼進入活動onResume()它會幫助你解決問題。

0

你能指定你想要它做什麼嗎? 您是否想要在加載應用程序時顯示進度對話框,還是希望在提取內容時顯示進度對話框?

- = UPDATE = - 好的,正如我所看到的,您正在嘗試在代碼中執行不同的操作。

如果您希望在開始活動時立即顯示對話框,那麼您需要將onKeyDown中的代碼放入您的onResume中,如上所述。

但是,如果您嘗試創建一個對話框,當您選擇一些內容時出現。例如一個來自列表中的人,那麼你做的是正確的。

而在去年,如果你正在做兩個,那麼我會建議你做的方法制作的對話框等等,然後再從雙方的onkeydown調用這個和的onResume

+0

是的,這正是我想要做的。我想從進行抽樣的數據中獲得進展。 – 2012-02-14 17:25:07