Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:Intent setClass导致空指针异常_Android_Android Intent_Nullpointerexception - Fatal编程技术网

Android:Intent setClass导致空指针异常

Android:Intent setClass导致空指针异常,android,android-intent,nullpointerexception,Android,Android Intent,Nullpointerexception,我想从TcpClient获得使用意图,请转到PreCamera。它导致java.lang.NullPointer异常 Intent intent = new Intent(); Log.v("Pic", "context"); intent.setClass(TcpClient.this, PreCamera.class); Log.v("Pic", "ok"); this.mContext.startActivity(intent); 这是TcpClient构造: public TcpCli

我想从TcpClient获得使用意图,请转到PreCamera。它导致java.lang.NullPointer异常

Intent intent = new Intent();
Log.v("Pic", "context");
intent.setClass(TcpClient.this, PreCamera.class);
Log.v("Pic", "ok");
this.mContext.startActivity(intent);
这是TcpClient构造:

public TcpClient(Context context) {
    mContext = context;
}
这是异常信息:

12-08 10:56:53.515: V/Pic(2579): context
12-08 10:56:53.519: W/dalvikvm(2579): threadid=13: thread exiting with uncaught exception (group=0x40020ac0)
12-08 10:56:53.519: E/AndroidRuntime(2579): FATAL EXCEPTION: Thread-14
12-08 10:56:53.519: E/AndroidRuntime(2579): java.lang.NullPointerException
12-08 10:56:53.519: E/AndroidRuntime(2579):     at android.content.ContextWrapper.getPackageName(ContextWrapper.java:120)
12-08 10:56:53.519: E/AndroidRuntime(2579):     at android.content.ComponentName.<init>(ComponentName.java:75)
12-08 10:56:53.519: E/AndroidRuntime(2579):     at android.content.Intent.setClass(Intent.java:4920)
12-08 10:56:53.519: E/AndroidRuntime(2579):     at com.Image.Collect.TcpClient.takePic(TcpClient.java:330)
12-08 10:56:53.519: E/AndroidRuntime(2579):     at com.Image.Collect.TcpClient.commandExecute(TcpClient.java:467)
12-08 10:56:53.519: E/AndroidRuntime(2579):     at com.Image.Collect.TcpClient.receive(TcpClient.java:278)
12-08 10:56:53.519: E/AndroidRuntime(2579):     at com.Image.Collect.TcpClient.talk(TcpClient.java:179)
12-08 10:56:53.519: E/AndroidRuntime(2579):     at com.Image.Collect.InfoCollect$6.run(InfoCollect.java:303)
12-08 10:56:53.539: E/InfoCollect(2579): onPause
 <activity android:name=".TcpClient"
                 ... (other info)
        </activity>
 <activity android:name=".PreCamera"
                ... (other info)
        </activity>
它导致:

12-08 11:31:45.221: W/dalvikvm(2805): threadid=13: thread exiting with uncaught exception (group=0x40020ac0)
12-08 11:31:45.229: E/AndroidRuntime(2805): FATAL EXCEPTION: Thread-14
12-08 11:31:45.229: E/AndroidRuntime(2805): java.lang.NullPointerException
12-08 11:31:45.229: E/AndroidRuntime(2805):     at android.content.ContextWrapper.getPackageName(ContextWrapper.java:120)
12-08 11:31:45.229: E/AndroidRuntime(2805):     at android.content.ComponentName.<init>(ComponentName.java:75)

它不好用。

你为什么不试试这个呢

Intent intent = new Intent(TcpClient.this, PreCamera.class);


this.mContext.startActivity(intent);

如果要从TcpClient活动启动PreCamera活动: 试试这个


编辑:已更改,因为TcpClient扩展了活动:

那么简单地说:

Intent intent = new Intent(this, PreCamera.class);
startActivity(intent);
你的另一种方法也可以,只需要更多的代码:

Intent intent = new Intent();
intent.setClass(this, PreCamera.class);
startActivity(intent);

TcpClient是扩展活动
TcpClient.this.startActivity(intent);
Intent intent = new Intent(this, PreCamera.class);
startActivity(intent);
Intent intent = new Intent();
intent.setClass(this, PreCamera.class);
startActivity(intent);