延迟对话Java

时间:2016-08-18 09:34:50

标签: java android

我正在尝试延迟Java中Dialog的弹出。 我不想使用Thread.sleep,因为同时播放动画。

这是我尝试过的,但它不起作用:

try{
    final Dialog d = new Dialog(this);
    d.wait(1500);
    d.show();
}catch(Exception e){}

对话框没有显示。但是,当我删除d.wait(1500)时,它就会起作用。

你有什么想法帮助我吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

要在Android上延迟后执行某些操作,请使用Handler及其postDelayed方法。它需要一个runnable来定义要运行的代码和一个int,它定义了runnable执行之前的延迟。

%% Structure


a(1).Id = 118;
a(1).Data = '00 7F 3F FF 08 FF 60 26';

a(2).Id = 108;
a(2).Data = '1 40 0 F 00 40 00 47';



%% Hexadecimal (Data) --> Binary --> Decimal

Data = a(2).Data;         
str = regexp(Data,' ','split');
Ind = cellfun(@length,str);
str = str(Ind==2);

%Hex to Binary 
binary = hexToBinaryVector(str,8,'MSBFirst');

%Binary to Decimal
Decimal = bi2de(binary,'left-msb');

答案 1 :(得分:1)

你应该使用Handler和postDelay()方法,这里是代码:

Handler handler = new Handler(Looper.getMainLooper());
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            final Dialog d = new Dialog(YourActivity.this);
            d.show();
        }
    }, 1000);