[英]Error: incompatible types: Message cannot be converted to int?
我一直在尝试为Android app
制作splashscreen
,并且我已经使用了本教程。 一切都应该没问题,除了Android Studio
给我一条错误消息说
消息无法转换为 int。
我正在为 msg.what 分配一个int
值,但这应该可以工作,所以我不确定为什么它会给我这个错误。
我的代码如下:
private static final long SplashTime = 3000;
private static final int StopSplash = 0;
private ImageView splash;
@SuppressLint("HandlerLeak")
private Handler splashHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == StopSplash) {
splash.setVisibility(View.GONE);
//break;
}
super.handleMessage(msg);
}
};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.splashsheet);
splash = (ImageView) findViewById(R.id.splashscreen);
Message msg = Message.obtain();
msg.what = StopSplash;
splashHandler.sendEmptyMessageDelayed(msg, SplashTime);
}
}
对于sendEmptyMessageDelayed
,您应该只传递what
代码作为第一个参数:
splashHandler.sendEmptyMessageDelayed(StopSplash, SplashTime);
另一方面,您可以使用sendMessageDelayed
:
splashHandler.sendMessageDelayed(msg, SplashTime);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.