You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android开发遇到'Runnable' is abstract; cannot be instantiated报错如何解决

报错原因

Runnable是Java抽象接口,无法直接实例化,你代码中new Runnable()的写法没有实现接口要求的run()方法,同时postDelayed方法还缺少第二个延迟时长参数,两个问题共同触发了编译报错。

修复后的完整代码
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import java.util.Objects;

public class SplashScreen extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Objects.requireNonNull(getSupportActionBar()).hide();
        setContentView(R.layout.activity_splash_screen);
        // 延迟3秒后执行逻辑
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                // 此处写延迟结束后要执行的操作,示例为跳转主页面
                Intent intent = new Intent(SplashScreen.this, MainActivity.class);
                startActivity(intent);
                // 关闭闪屏页
                finish();
            }
        }, 3000);
    }
}
注意事项
  • Runnable实现类的run()方法内部是延迟结束后要执行的业务逻辑,可根据实际需求修改
  • postDelayed的第二个参数为延迟时长,单位为毫秒,可自定义调整
  • 针对Android 12及以上系统,官方已提供专门的SplashScreen API实现闪屏效果,可按需替换使用

内容的提问来源于stack exchange,提问作者Upvoter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 20:06:00