关于Activity跳转问题

我在一个非Activity的类中控制两个Activity跳转却报错。在非Activity类中调用A中的方法进行跳转到B。
非Activity类:

new A().i();

A:


public void i(){
        Intent intent=new Intent();
    intent.setClass(A.this,B.class);
    startActivity(intent);
}

  E/AndroidRuntime: FATAL EXCEPTION: main
  Process: cn.rehtt, PID: 6647
  java.lang.NullPointerException
   at android.content.ContextWrapper.getPackageName(ContextWrapper.java:135)
  at android.content.ComponentName.<init>(ComponentName.java:77)
  at android.content.Intent.setClass(Intent.java:6373)
  at cn.rehtt.A.i(A.java:129)
  at cn.rehtt.Z.sendId(Z.java:172)
  at cn.rehtt.Z$1.onTextMessage(Z.java:93)
  at de.tavendo.autobahn.WebSocketConnection$1.handleMessage(WebSocketConnection.java:312)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:136)
  at android.app.ActivityThread.main(ActivityThread.java:5034)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)

你这是 new Activity().i()?

activity 跳转不能这样用的,activity有很多它自己的生命周期。你new出来之后只是完成了基本Object的构造方法,但是像oncreate onresume等一些方法都没有调用。建议楼主去搜索看看activity的生命周期,和activity是如何创建的。

非Activity类中可以a.this????

你可以用广播,你那个可能是上下文有问题

约束布局 你值得拥有 可以试试

A.this 可以被一个全局的上下文替代 这个上下文是不必须用activity的上下文的 没必要new一个activity