当前位置: 代码迷 >> Android >> 关于Handler无法实例化的有关问题
  详细解决方案

关于Handler无法实例化的有关问题

热度:84   发布时间:2016-04-27 22:18:51.0
关于Handler无法实例化的问题
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fq__game);
        fileNameList = new ArrayList<String>();
        quizCountriesList = new ArrayList<String>();
        regionsMap = new HashMap<String, Boolean>();
        guessRows = 1;
        random = new Random();
        handler = new Handler();

提示是Handler是抽象的,无法实例化,新手一枚,不懂什么意思,想用handler.postdelay实现延迟,
------解决思路----------------------
Handler是Android系统消息机制抽象出来的一个类(并不是抽象类,是一种设计概念),必须要实现它才能用,有两种方法
1:新建一个类
class MyHandler extends Handler {
    //具体的业务实现,好像必须要实现handleMessage()方法
}
使用的时候用      Handler handler = new MyHandler();     //将子类对象赋值给父类
2:匿名内部类:如果Handler的业务不复杂,或是与activity结构很紧密的可以这样写
Handler handler = new Handler() {
//具体的业务实现,好像必须要实现handleMessage()方法
}
  相关解决方案