0

円形のプログレスバーに問題があります。レイアウトのバックグラウンドで非表示にしています。新しいアクティビティを開始したいときは、レイアウトを可視に設定して表示します。うまく表示されますが、progressBar のアニメーションがうまく機能せず、少し回転してからもう少し回転すると停止することがあります...流暢ではありません。私はこれで解決しようとしましたが、うまくいかなかったようです:

button2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {

          progressBar.setIndeterminate(true);
          progressLayout.setVisibility(View.VISIBLE);
          final CustomOverlayItem i = item;

          Runnable intentRunnable = new Runnable()
          {
              public void run()
              {
                  Intent intent = new Intent(context,Next.class);
                  startActivityForResult(intent, RETURN_FROM_MONUMENTO);
              }
          };

          intentRunnable.run();
    }

});

回答ありがとうございます。

4

2 に答える 2

1

他のアクティビティからデータを受け取る部分は興味深いでしょう。Runnable でインテントを送信する必要はないはずです。これはかなり安価な操作だからです (私はそう思います)。ただし、結果を受け取ると、重い操作が発生する可能性があります。通常、アニメーションの途切れは、UIThread で実行すべきではないことを行っていることを示しています (または、デバイスが遅すぎてすべてのスレッドの負荷を処理できないことを示しています)。

于 2012-12-07T09:09:52.343 に答える
0

次のアクティビティでネットワーク関連の作業を行っている場合は、起動します。AsyncTaskUIスレッドをブロックせず、ProgressBarアニメーションをスムーズにするために使用します。

于 2012-12-07T09:20:19.607 に答える