Android:Runnable 类型的运行方法必须覆盖超类型方法



>我在处理 Android 活动时遇到问题:我正在尝试为一个应用程序创建一个初始屏幕,该屏幕将在 3 秒内显示。

然而,我在代码的一部分中得到一个持久性错误,如下所示(错误):

"新 Runnable(){} 类型的方法 run() 必须覆盖或实现超类型方法"

这是部分:

final Runnable execution = new Runnable(){
@Override
public void run() {
    Intent login = new Intent(ctx,LoginScreen.class);
    startActivity(login);
    finish();           
}
};

其余代码:

package com.example.events;
import com.example.events.LoginScreen;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
public class Runnable extends Activity {
    Context ctx;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_runnable);
        ctx=this;
        Threads();
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.runnable, menu);
        return true;
    }
    final Handler mHandler= new Handler();
    public void Threads(){
        Thread thread = new Thread() {
            @Override
            public void run() {
                try {
                    Thread.sleep(3000);
                } 
                catch (InterruptedException e) {
                }
                mHandler.post((java.lang.Runnable) execution);
            }
        };
        thread.start();
    }
    final Runnable execution = new Runnable(){
        @Override
        public void run() {
            Intent login = new Intent(ctx,LoginScreen.class);
            startActivity(login);
            finish();           
        }
    };
}

我确实检查了我的项目属性,编译器设置为 1.6,但错误不会留下:我做错了什么吗?

非常感谢您的帮助。

毛罗。

您的Activity名为Runnable。因此,您的final Runnable execution = new Runnable()正在尝试创建 com.example.events.Runnable 的实例,该实例没有run()方法。

可能的类名数量几乎是无限的。请为您的Activity子类选择一个不同的子类,一个不与Java或Android中常用的另一个类名冲突的子类名。例如,您可以选择Ddskwerioajsdlv作为Activity子类的名称,因为该名称似乎未被使用。

相关内容

最新更新