0
new Thread(new Runnable() 
                {
                    public void run() {
                        while ( statusStr==null)
                        {
                            progressBarHandler.post(new Runnable() {
                                public void run() {
                                    progressBar.setProgress(progressBarStatus);
                                }
                            });
                        }

                    }
                    }).start();

友人、私は他の質問を参照しましたが、まだ混乱しているので、この問題を解決するのを手伝ってください. アプリの動作中に値が更新されているため、statusStrを最終的に保持することはできません。解決策を教えてください。

4

2 に答える 2

3

変数をグローバルに宣言できるため、強制的に final に変更する必要はありません。

于 2012-07-27T09:25:55.513 に答える
0

progressBar を final として宣言するか、GlobalVariable として宣言します。

final 変数を宣言するのと同じように、次のようにします。

final ProgressBar progressBar= ProgressBar.show(this, "title", "message");
    new Thread(new Runnable() 
                    {
                        public void run() {
                            while ( statusStr==null)
                            {
                                progressBarHandler.post(new Runnable() {
                                    public void run() {
                                        progressBar.setProgress(progressBarStatus);
                                    }
                                });
                            }

                        }
                        }).start();
于 2012-07-27T09:26:58.150 に答える