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

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条)

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集