Lập trình Android — August 9, 2016 at 5:08 am

Cách để Dialog tự động tắt sau một thời gian

by

Để 1 Dialog tự động tắt sau một khoảng thời gian nhất định, các bạn có thể sử dụng Timer để xử lý, vì mặt định nó sẽ không tự động tắt khi bạn khởi tạo. Để giải quyết được vấn đề đó, bạn có thể tham khảo code dưới đây nhé.

Source code của App:

package android.vn.autoclosedialog;

import java.util.Timer;
import java.util.TimerTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// get button
Button btnShow = (Button)findViewById(R.id.btnShowDialog);
btnShow.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
builder.setTitle(“Auto-closing Dialog”);
builder.setMessage(“After 5 second, this dialog will be closed automatically!”);
builder.setCancelable(true);

final AlertDialog dlg = builder.create();

dlg.show();

final Timer t = new Timer();
t.schedule(new TimerTask() {
public void run() {
dlg.dismiss(); // when the task active then close the dialog
t.cancel(); // also just top the timer thread, otherwise, you may receive a crash report
}
}, 5000); // after 5 second (or 5000 miliseconds), the task will be active.

}
});
}

}

 

package android.vn.autoclosedialog;

import java.util.Timer;
import java.util.TimerTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// get button
Button btnShow = (Button)findViewById(R.id.btnShowDialog);
btnShow.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
builder.setTitle(“Auto-closing Dialog”);
builder.setMessage(“After 5 second, this dialog will be closed automatically!”);
builder.setCancelable(true);

final AlertDialog dlg = builder.create();

dlg.show();

final Timer t = new Timer();
t.schedule(new TimerTask() {
public void run() {
dlg.dismiss(); // when the task active then close the dialog
t.cancel(); // also just top the timer thread, otherwise, you may receive a crash report
}
}, 5000); // after 5 second (or 5000 miliseconds), the task will be active.

}
});
}

}

 

package android.vn.autoclosedialog;

import java.util.Timer;
import java.util.TimerTask;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// get button
Button btnShow = (Button)findViewById(R.id.btnShowDialog);
btnShow.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
builder.setTitle(“Auto-closing Dialog”);
builder.setMessage(“After 5 second, this dialog will be closed automatically!”);
builder.setCancelable(true);

final AlertDialog dlg = builder.create();

dlg.show();

final Timer t = new Timer();
t.schedule(new TimerTask() {
public void run() {
dlg.dismiss(); // when the task active then close the dialog
t.cancel(); // also just top the timer thread, otherwise, you may receive a crash report
}
}, 5000); // after 5 second (or 5000 miliseconds), the task will be active.

}
});
}

}

Trên đây chúng tôi đã chia sẻ với các bạn Cách để Dialog tự động close sau một khoảng thời gian. Hy vọng đây sẽ là những bài viết bổ ích dành cho các bạn. Chúc các bạn học và làm việc thật tốt!

Nguồn: laptrinhandroid

Leave a Comment

Your email address will not be published. Required fields are marked *