安卓开发使用Toast为什么会报错java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;  但是在别的的地方使用有都没问题,唯独在我添加注释的if里使用报错。
这里使用了Bmob的save方法添加数据。而且报错日志显示的位置还不是在这个Toast这一行,而是在上一个activity的初始化布局的
setContentView方法的那一行。有哪位大神知道问题所在,麻烦帮帮忙,江湖救急啊    case R.id.faBu_anLiu:
               ThreadPools.getInstance(FaBuActivity.this).execute(new Runnable() {
                   @Override
                   public void run() {
                       leiRong=miaoShu.getText().toString();
                       phoneNumber=number.getText().toString();
                           if(i==1){
                               System.out.println("36");
                               //Toast.makeText(FaBuActivity.this,"36",Toast.LENGTH_LONG).show();
                           }else {
                           Informatica informatica = new Informatica();
                           informatica.setLeiBie(leiBie);
                           informatica.setXuanXiang(xuanXiang);
                           informatica.setLieRong(leiRong);
                           informatica.setPhoneNumber(phoneNumber);
                           informatica.save(new SaveListener<String>() {
                               @Override
                               public void done(String s, BmobException e) {
                                   if (e == null) {
                                       Toast.makeText(FaBuActivity.this, "发布成功", Toast.LENGTH_LONG).show();
                                   } else {
                                       Toast.makeText(FaBuActivity.this, "发布失败", Toast.LENGTH_LONG).show();
                                   }
                               }
                           });
                       }
                   }
               });
                  break;

解决方案 »

  1.   

    在子线程里面使用Toast需要自己创建一个 Looper 吧new Thread(new Runnable() {
        @Override
        public void run() {
            Looper.prepare();
            Toast.makeText(TwoActivity.this, "子线程显示", Toast.LENGTH_SHORT).show();
            Looper.loop();
        }
    }).start();
      

  2.   

    把你toast加在这个中间试试
    Looper.prepare();  
                         Toast.makeText(FaBuActivity.this, "发布成功", Toast.LENGTH_LONG).show();
                            Looper.loop();  
    Looper.prepare();  
                       Toast.makeText(FaBuActivity.this, "发布失败", Toast.LENGTH_LONG).show();
                            Looper.loop();  
      

  3.   

    谢谢,确定是这个问题,加上looper就可以了
      

  4.   

    谢谢,确实是这个问题,加上Looper就可以了