我在一个非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