1

プログレス バーが機能しません。進行状況でいくつかの詳細を表示しようとしています。しかし、私はできません。私を助けてください。

アクティビティ ファイル名 - MainActivity.java

package com.example.sqliteexample;

import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.app.ProgressDialog;
import android.view.Menu;

public class MainActivity extends Activity {
private Handler handler = new Handler();
private ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //dialog = ProgressDialog.show(this,getString(R.string.loading) ,getString(R.string.alignMsg));
    dialog = ProgressDialog.show(this,"Loading", "Loading the Image of the Day");
    Thread th = new Thread()
    {
        public void run() {
            handler.post(
                    new Runnable (){
                        @Override
                        public void run() {
                            try {
                                Thread.sleep(10000);
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                            dialog.dismiss();
                        }});
        }};
        th.start();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

4

2 に答える 2

0

使用してみてくださいhandler.postDelayed

dialog = ProgressDialog.show(this,
         "Loading", "Loading the Image of the Day");
handler.postDelayed(runnable,10000);
}
Runnable runnable = new Runnable() {
   @Override
   public void run() {
      /* dismiss  dialog here*/
      dialog.dismiss();

      handler.removeCallbacks(runnable);
   }
};

Thread.sleep(10000);または、次のようにメソッドに渡す Runnable 内ではなく、 Thread run メソッド内に移動する必要がありますHandler.post

Thread th = new Thread()
    {
        public void run() {
            /** call Thread.Sleep here... **/
            Thread.sleep(10000);
            handler.post(
            ....your code here....
于 2013-05-01T18:44:17.947 に答える