分类: 嵌入式
2012-07-26 15:07:50
1. 对话框显示实现
private void showChangeModeDialog(){
textView = new TextView(this);
mWarn = new AlertDialog.Builder(this)
.setTitle(getString(R.string.error_title))
.setIcon(com.android.internal.R.drawable.ic_dialog_alert)
.setMessage(getResources().getString(R.string.hdmi_mode_change_context))
.setPositiveButton(android.R.string.yes,
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
…
}
})
.setNegativeButton(android.R.string.no,
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
…
}
}).show();
2. 对话框自动消失功能的实现
以上是实现对话框的显示,但是若想对话框在一定时间内自动消失,那该如何呢,
方法如下:
Handler myHander = new Handler();
myHander.postDelayed(new Runnable()
{
@Override
public void run()
{
mWarn.dismiss();
}
},10000);
3. 对话框显示倒计时的实现
对话框自动消失的问题解决了,但是若想在对话框显示还有多少时间消失,又该如何实现呢
textView = new TextView(this);
showdialog()
{
textView = new TextView(this);
…
mWarn.setView(textView);
}
private Handler myHander = new Handler(){
public void handleMessage(Message msg){
switch(msg.what){
case TYPE_NEGATIVE:
if (mNegativeCount >0){
mNegativeCount--;
if (mWarn!= null)
{
String text= "Revert in ";
text = text + mNegativeCount + " seconds";
textView.setText(text);
}
myHander.sendEmptyMessageDelayed(TYPE_NEGATIVE,1000);
}
else
{
mWarn.dismiss();
}
break;
}
}
};
这样就可以实现所想要的结果了。