1

私が走るとき

msgcheck.setOnClickListener(new View.OnClickListener() {            
        @Override
        public void onClick(View v) {

            if(msgcheck.isChecked()){
                //hedearMsg


                final Dialog dialog = new Dialog(this);
                dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
                dialog.setContentView(R.layout.custommsg);
                dialog.setCancelable(true);
                dialog.show();

                Thread t = new Thread() {
                  public void run() {
                     // Do something on another thread
                      PopulatePeopleList();

                  }
                };
                t.run();

        }
    });

プログラムが数秒間ハングしてから
ダイアログを表示する ハングせずにこのダイアログを実行して、PopulatePeopleListfunc を実行したい

4

2 に答える 2

3

startスレッドはではなくで始まりrunます:

Thread t = new Thread() {
    public void run() {
        // Do something on another thread
        PopulatePeopleList();
    }
};
t.start();

runrunメインスレッドでメソッドを順番に呼び出すだけです。

于 2012-10-28T18:20:03.443 に答える
0

3 番目のオプションはRunnable、スレッド内または他の場所で構築できる a を使用することです。

new Thread(new Runnable()
{
    @Override
    public void run()
    {
        PopulatePeopleList();
    }

}).start();
于 2012-10-28T18:23:49.630 に答える