我正在尝试延迟Java中Dialog的弹出。 我不想使用Thread.sleep,因为同时播放动画。
这是我尝试过的,但它不起作用:
try{
final Dialog d = new Dialog(this);
d.wait(1500);
d.show();
}catch(Exception e){}
对话框没有显示。但是,当我删除d.wait(1500)
时,它就会起作用。
你有什么想法帮助我吗?
谢谢!
答案 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);