3.在MainActivity实现对自定义对话框的添加显示。
MainActivity.java,在进行对话框切换显示的时候,只需要设置不同的xml配置文件就行了。(注意:NoticeDialog里面的构造方法的context参数只能是XXXActivity.this,不能是通过getApplicationContext获取的context对象)
package com.zlc.dialog;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import com.zlc.dialog.NoticeDialog.NoticeDialogListener;
public class MainActivity extends Activity {
private Context context;
private NoticeDialog notiDialog;
int count = 0;
Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
context = getApplicationContext();
notiDialog = new NoticeDialog(MainActivity.this,
R.style.NoticeDialog, new NoticeDialogListener() {
@Override
public void onClick(View view) {
try {
if(view.getId() == R.id.dialog_enter){
notiDialog.dismiss();
//TODO 购买
}
notiDialog.dismiss();
} catch (Exception e) {
e.printStackTrace();
}
}
});
notiDialog.setContentView(R.layout.dialog_notice_choise);
notiDialog.show();
Timer timer = new Timer();
handler = new Myhandler();
timer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
count = count % 4;
notiDialog.cancel();
handler.sendEmptyMessage(count);
count ++;
}
}, 3000, 3000);
}
private class Myhandler extends Handler{
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch (msg.what) {
case 0:
notiDialog.setContentView(R.layout.dialog_notice_ing);
break;
case 1:
notiDialog.setContentView(R.layout.dialog_notice_finish);
break;
case 2:
notiDialog.setContentView(R.layout.dialog_notice_choise);
break;
default:
break;
}
notiDialog.show();
}
}
}
注:相关教程知识阅读请移步到Android开发频道。










