ProgressDialog - 为什么runnable不会出现ProgressDialog?

时间:2016-11-22 19:34:14

标签: java android progressdialog

当我尝试更新progressDialog中的文字时,有人建议herehere

在我的情况下,我试图在循环中更新文本,而progressDialog没有被解雇(?)在其他地方...... 但是我在runnable中的循环似乎不起作用,或者更好,runnable不会显示progressDialog。

因此,代码显示progressDialog:

@Override
public void onDirectionFinderStart() {
    String title = "PriscaLobby";
    String msg  = "Loading...";
    progressDialog = ProgressDialog.show (MapsActivity.this,title,msg,true,false);

//--> runOnUiThread(changeMessage);

}

private Runnable changeMessage = new Runnable() {
    @Override
    public void run() {
        progressDialog.setMessage("bruka");
        while (progressDialog.isShowing()) {
            try {
                Thread.sleep(1500);
                if (progressDialog.isShowing())
                    progressDialog.setMessage("Can you wait, please?");
                Thread.sleep(1500);
                if (progressDialog.isShowing())
                    progressDialog.setMessage("Here we are..");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }           
    }
};

这样NO:

@Override
public void onDirectionFinderStart() {
    String title = "PriscaLobby";
    String msg  = getString(R.string.calculate_directions);
    progressDialog = ProgressDialog.show (MapsActivity.this,title,msg,true,false);

    runOnUiThread(changeMessage);

}

private Runnable changeMessage = new Runnable() {
    @Override
    public void run() {
        progressDialog.setMessage("bruka");
        while (progressDialog.isShowing()) {
            try {
                Thread.sleep(1500);
                if (progressDialog.isShowing())
                    progressDialog.setMessage("Can you wait, please?");
                Thread.sleep(1500);
                if (progressDialog.isShowing())
                    progressDialog.setMessage("Here we are..");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }           //Log.v(TAG, strCharacters);
    }
};

为什么?

0 个答案:

没有答案