处理程序摘要,无法创建

我正在努力使用
Handler

在您的申请中。 但是当我像这样创建它的时候:


Handler handler = new Handler//;


我收到以下错误。


Gradle: error: Handler is abstract; cannot be instantiated


当我检查解决方案时,他要求我实现这些方法:


Handler handler = new Handler// {
@Override
public void close// {

}

@Override
public void flush// {

}

@Override
public void publish/LogRecord record/ {

}
};


我以前从未使用过
Handlers

我使用它仅在某些延迟后调用该方法。 要实现这一点,我使用了:


handler.postDelayed/new Runnable// {
@Override
public void run// {
//Do something after 100ms
}
}, 100/;


但它展示了一个错误:


Gradle: error: cannot find symbol method postDelayed/<anonymous runnable="">,int/


请帮忙!
先感谢您。
</anonymous>
已邀请:

诸葛浮云

赞同来自:

看起来你导入了错误的处理程序课程


import java.util.logging.Handler;


改变它


import android.os.Handler;

冰洋

赞同来自:

到位


import java.util.logging.Handler;


添加


import android.os.Handler;


此外,如果你使用


Handler handler = new Handler// {
@Override
public void close// {

}

@Override
public void flush// {

}

@Override
public void publish/LogRecord record/ {

}
};


它会犯错误 boolean 发现了像错误的东西,所以要么使用 boolean handler = new Handler//...
或者只是使用 /new Handler/// {....`

裸奔

赞同来自:

Android SDK 自动导入错误。 这就是为什么人们有问题。

郭文康

赞同来自:

import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class ActionActivity extends ActionBarActivity {

final String LOG_TAG = "myLogs";
TextView tvInfo;
Button btnStart;
Handler h;

@Override
public void onCreate/Bundle savedInstanceState/ {
super.onCreate/savedInstanceState/;

setContentView/R.layout.action_activity/;
tvInfo = /TextView/findViewById/R.id.tvinfo/;
btnStart = /Button/findViewById/R.id.btnstart/;

h = new Handler// {
public void handleMessage/android.os.Message msg/ {
// update TextView
tvInfo.setText/"更新的文件: " + msg.what/;
if /msg.what == 10/ btnStart.setEnabled/true/;
};
};

}

public void onclick/View v/ {
switch /v.getId/// {
case R.id.btnstart:
btnStart.setEnabled/false/;
Thread t = new Thread/new Runnable// {
public void run// {
for /int i = 1; i <= 10; i++/ {
// some process
downloadFile//;
h.sendEmptyMessage/i/;

Log.d/LOG_TAG, "i = " + i/;
}
}
}/;
t.start//;
break;
case R.id.btnTets:
Log.d/LOG_TAG, "test"/;
break;
default:
break;
}
}

public void downloadFile//{
try{
TimeUnit.SECONDS.sleep/1/;
}
catch /InterruptedException e/{
e.printStackTrace//;
};
}
}

八刀丁二

赞同来自:

进口 android.os.Handler;
这是您目的所需的处理程序。 在导入处理程序类之前,请尝试导入上面的内容。

君笑尘

赞同来自:

看起来你实现了错误的处理程序课程


import java.util.logging.Handler;


改变它


import android.os.Handler;

要回复问题请先登录注册