0

基本上,我希望在活动启动时立即加载纺车,然后在完成后消失。但是,在我当前的代码中,它仅在我按下一个键时才开始。我应该如何替换 onKeyDown 方法,以便一切都自动启动?

@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);
    }
};
4

2 回答 2

0

你能指定你想要它做什么吗?您希望在加载应用程序时显示进度对话框,还是希望它在获取某些内容时显示?

-=UPDATE=- 好的,正如我所看到的,您正在尝试在代码中做不同的事情。

如果您希望它在您启动活动时立即显示对话框,那么您需要将 onKeyDown 中的代码也放入您的 onResume 中,如上所述。

但是,如果您尝试创建一个在您选择某些内容时出现的对话框。例如列表中的一个人,那么你做对了。

最后,如果你两者都做,那么我建议你制作一个制作对话框等的方法,然后从 onKeyDown 和 onResume 调用它

于 2012-02-14T13:41:44.540 回答
0

将 onkeyDown() 代码放入活动 onResume() 它将帮助您解决问题。

于 2012-02-14T13:53:05.113 回答