Отображение второго диалогового окна с предупреждением через 5000 мс - PullRequest
1 голос
/ 24 июня 2011

Здесь я хочу показать второе диалоговое окно после исчезновения первого диалогового окна. Я показываю первое диалоговое окно для 5000 мс, как мы можем это сделать?

Заранее спасибо ...!

 Button signin = (Button) findViewById(R.id.regsubmitbtn);

signin.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        showDialog(0);
        t = new Thread() {
            public void run() {
                register();
                try {
                    Thread.sleep(5000);
                    removeDialog(0);

            e.printStackTrace();
        }
            }
        };
        t.start();
    }
});
   @Override
  protected Dialog onCreateDialog(int id) {
   switch (id) {
    case 0: {
    dialog = new ProgressDialog(this);
    dialog.setMessage("Registering...");
    dialog.setIndeterminate(true);
    dialog.setCancelable(true);
    return dialog;
}
}
return null;
} 

1 Ответ

4 голосов
/ 24 июня 2011

создайте счетчик, который будет подсчитывать, сколько раз было создано диалоговое окно, а затем создайте обработчик, с помощью которого вы будете отправлять сообщение, показывать ли диалог или отклонять.

См. Следующий код.Это именно то, что вы хотите

Пример

import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Main extends Activity{

    Button btn = null;
    ProgressDialog dialog = null;
    int counter = 0;
    Thread t =null;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.myxml);

    btn = (Button) findViewById(R.id.btn001);
    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
//          tv.setHint(tv.getHint());
//          while(counter<2){

            t = new Thread() {
                public void run() {
//                  register();
                    try {
                        while(counter<2){
                        updateGallery(0);
                        Thread.sleep(5000);

                        updateGallery(1);
                        Thread.sleep(1000);

                        }

            }catch(Exception ex){
                ex.printStackTrace();
            }
                }
            };
            t.start();

            }
//          tv.setTextColor(getResources().getColor(R.color.DarkBlue));
//      }
    });



//  tv.setFreezesText(true);
}




@Override
protected Dialog onCreateDialog(int id) {
 switch (id) {
  case 0: {

      ++counter;
  dialog = new ProgressDialog(this);
  if(counter==1){
  dialog.setMessage("Registering...");
  }else{
      dialog.setMessage("Registered successfully");
  }
  dialog.setIndeterminate(true);
  dialog.setCancelable(true);

}

}
 return dialog;
}

public void updateGallery(int actionsToBePerformedOnScreen) {
    Message msg = new Message();
    msg.what = actionsToBePerformedOnScreen;
    galleryListHandler.sendMessage(msg);

}

public Handler galleryListHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
        case 0:

            showDialog(0);

            break;

        case 1:
            // clear all images in the list
            removeDialog(0);
            break;


        }

    };
};
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...