[英]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.