king1352 2011-08-24 17:17
浏览 993
已采纳

Android dialog能设置延迟或者倒计时吗?

protected void dialog() {
AlertDialog.Builder builder = new Builder(VideoViewActivity.this);
builder.setMessage("是否进入下一视频");

builder.setTitle("提示");

builder.setPositiveButton("确认", new OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
CategoryVideo categoryvideo = new CategoryVideo();
categoryvideo.runnext();

}

});

builder.setNegativeButton("取消", new OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();

}
});

builder.create().show();

现在做个播放器 需求是一首歌结束后弹出dialog是否进入下一首,如果不选择那么10秒后自动跳的下一首。
应该怎么做呢????基本的已完成,求教高手~~~~~~~~~

  • 写回答

10条回答 默认 最新

  • laopeng301 2011-08-24 23:03
    关注

    [code="java"]
    package com.rp;

    import java.util.Timer;
    import java.util.TimerTask;

    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.AlertDialog.Builder;
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;

    public class TimeCountActivity extends Activity {
    private Button btn;
    private TextView textView;

    Handler handler;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        textView = new TextView(this);
        final AlertDialog alertDialog = new AlertDialog.Builder(this)
                .setView(textView).setIcon(R.drawable.icon).setTitle("提示")
                .setMessage("是否进入下一视频")
                .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {
                    }
                }).create();
    
        handler = new Handler() {
            public void handleMessage(Message msg) {
                if (msg.what > 0) {
                    Log.v("time", msg.what + "");
                    textView.setText(msg.what + "秒自动跳转下一首");
    
                } else {
                    alertDialog.dismiss();
                    textView.setText("Over......");
    
                }
                super.handleMessage(msg);
            }
    
        };
        btn = (Button) findViewById(R.id.btn);
    
        btn.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View arg0) {
                alertDialog.setView(textView);
                alertDialog.show();
                Timer time = new Timer(true);
                TimerTask tt = new TimerTask() {
                    int countTime = 10;
    
                    public void run() {
                        if (countTime > 0) {
                            countTime--;
                        }
                        Message msg = new Message();
                        msg.what = countTime;
                        handler.sendMessage(msg);
    
                    }
    
                };
                time.schedule(tt, 1000, 1000);
    
            }
        });
    
    }
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥15 this signal is connected to multiple drivers怎么解决
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥60 关机时蓝屏并显示KMODE_EXCEPTION_NOT_HANDLED,怎么修?
  • ¥66 如何制作支付宝扫码跳转到发红包界面