7

progressDialog テキストを変更することは可能ですか?

私のコード:

progressDialog = ProgressDialog.show(BackupActivity.this, "In progress", "test1");
                            new Thread() {
                                public void run() {
                                    try{
                                        sleep(10000);
                                            } catch (Exception e) {
                                                Log.e("tag", e.getMessage());
                                            } progressDialog.dismiss();
                                }
                            }.start();
                        }
                    });
                    selectExportsDialog = builder.create();
                }
                selectExportsDialog.show();
                break;          }

例 10 秒後に test1 を test2 に変更したいと思います。可能?

ありがとう

4

3 に答える 3

10

それはうまくいっています:

runOnUiThread(changeText);

そのコードで:

private Runnable changeText = new Runnable() {
    @Override
    public void run() {
        m_ProgressDialog.setMessage(myText);
    }
};
于 2013-02-06T10:58:46.253 に答える
4

これを試すことができます:

private class ProgressRunner extends AsyncTask<URL, Integer, Long>
    {
        protected void onPreExecute()
        {
            try    
            {
                dialog = new ProgressDialog(context);
                dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                dialog.setTitle("TITLE");
                dialog.setMessage("MY TEXT 1");
                dialog.setCancelable(false);
                dialog.setProgress(0);              
                dialog.setIndeterminate(false);
                dialog.show();              
            } 
            catch (Exception e)
            {               
                e.printStackTrace();
                dialog.dismiss();
            }
        }


        @Override
        protected void onCancelled() 
        {
            super.onCancelled();
            dialog.dismiss();           
        }


        @Override
        protected Long doInBackground(URL... params) 
        {   
            // process the code here
            dialog.setMessage("MY TEXT 2");
            return null;
        }

        protected void onProgressUpdate(Integer... progress)
        {           
            dialog.setProgress(progress[0]);
        }       

        protected void onPostExecute(Long result)
        {
            try 
            {                               
                dialog.dismiss();           

            } 
            catch (Exception e) 
            {               
                e.printStackTrace();
                finish();
            }       
        }   
    }
于 2013-02-06T11:05:35.100 に答える