0
我已經寫了一個Android應用程序,這是檢查互聯網連接到谷歌(通過套接字,我猜)!當我從我的Networking-Thread(檢查方法)得到答案時,我嘗試用setText更新我的textview,但是我得到了一個nullpointerexception!這可能是我的代碼中一個安靜的簡單錯誤,但我根本不明白。Android - 線程之間的問題(NullPointerException)
這裏是我的MainActivity:
package at.springsits.michi.hostchecker;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Main extends Activity implements OnClickListener {
TextView connection_internet;
Button pingbutton;
Networking net;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
connection_internet = (TextView) findViewById(R.id.connection);
pingbutton = (Button) findViewById(R.id.ping_button);
pingbutton.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
new Thread(new Runnable() {
public void run() {
`enter code here`net.connectionToGoogle = Networking.testPingToGoogle();
runOnUiThread(new Runnable() {
public void run() {
connection_internet.setText(String
.valueOf(net.connectionToGoogle));
}
});
}
}).start();
}
}
的logcat:
06-26 16:38:00.030: D/libEGL(2756): loaded /system/lib/egl/libEGL_adreno200.so
06-26 16:38:00.030: D/libEGL(2756): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
06-26 16:38:00.030: D/libEGL(2756): loaded /system/lib/egl/libGLESv2_adreno200.so
06-26 16:38:00.030: I/Adreno200-EGL(2756): <eglInitialize:269>: EGL 1.4 QUALCOMM build: Nondeterministic AU_full_mako_PARTNER-ANDROID/JB-MR1-DEV_CL2961380_release_AU (CL2961380)
06-26 16:38:00.030: I/Adreno200-EGL(2756): Build Date: 12/10/12 Mon
06-26 16:38:00.030: I/Adreno200-EGL(2756): Local Branch:
06-26 16:38:00.030: I/Adreno200-EGL(2756): Remote Branch: m/partner-android/jb-mr1-dev
06-26 16:38:00.030: I/Adreno200-EGL(2756): Local Patches: NONE
06-26 16:38:00.030: I/Adreno200-EGL(2756): Reconstruct Branch: NOTHING
06-26 16:38:00.070: D/OpenGLRenderer(2756): Enabling debug mode 0
06-26 16:38:03.414: W/dalvikvm(2756): threadid=11: thread exiting with uncaught exception (group=0x40bf9930)
06-26 16:38:03.414: E/AndroidRuntime(2756): FATAL EXCEPTION: Thread-6549
06-26 16:38:03.414: E/AndroidRuntime(2756): java.lang.NullPointerException
06-26 16:38:03.414: E/AndroidRuntime(2756): at at.springsits.michi.hostchecker.Main$1.run(Main.java:37)
06-26 16:38:03.414: E/AndroidRuntime(2756): at java.lang.Thread.run(Thread.java:856)
郵政logcat的,所以我們知道什麼是'null' – codeMagic
'net'是空的,我想。 'net net'然後'net.connectionToGoogle = Networking.testPingToGoogle()'。 –
我想我需要一個網絡網=新網絡()的地方? – MIC