2016-12-06 66 views
0

我有这种情况: 我想在一秒钟之后离开活动,但之后系统崩溃。 我插入这些行:当从活动中出去时系统崩溃

static QRActivity o; 

    protected void onCreate(Bundle savedInstanceState) { 

    /////other codes 

    o =new QRActivity(); 

    public static void myMethod() 
     { 
      o.doStuff(); 
     } 

     private void doStuff() 
     { 
      Timer t = new Timer(); 
      t.schedule(new TimerTask() { 

       @Override 
       public void run() { 
        // TODO Auto-generated method stub 
        Intent i = new Intent(QRActivity.this,MainActivity.class); 
        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivity(i); 

       } 
      }, 5000); 
     } 

    in an other class 
    QRActivity.myMethod(); 

这是工作,但秒钟集崩溃去,并说以后 实际应用类为null 没有即时运行DEX文件添加到classpath中 找不到方法android.view。窗口$ Callback.onProvideKeyboardShortcuts,从方法android.support.v7.view.WindowCallbackWrapper.onProvideKeyboardShortcuts引用

哪里是我的错

回答

0

如果QRActivity延伸Activity,那么你绝对肯定也不能这么干:

o = new QRActivity(); 

只有Android框架可以创建一个Activity的实例。你的架构有缺陷。

+0

感谢大卫我做了,但我仍然有总是崩溃。 – Nick

+0

从logcat发布您的修改代码和堆栈跟踪 –

0
class MyClass extends Activity { 

    static MyClass o; 

    public static void myMethod() 
    { 
     o.doStuff(); 
    } 

    private void doStuff() 
    { 
     Timer t = new Timer(); 
     t.schedule(new TimerTask() { 

      @Override 
      public void run() { 
       // TODO Auto-generated method stub 
       Intent i = new Intent(MyClass.this,MainActivity.class); 
       i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       i.putExtra("EXIT", true); 
       startActivity(i); 

      } 
     }, 5000); 
    } 

回想起 MyClass.myMethod();

此错误:
线程ID = 1:螺纹与未捕获的异常退出(组= 0x4168bc80) //实际应用类为空。 W/InstantRun:没有即时运行DEX文件添加到classpath中