Ich habe ein Fragment, die einen Hintergrund-Thread, die Aktualisierung eines Fortschrittsbalken Wert und ändern Sie die Fortschrittsbalken Zeichnungsfähig, wenn der Fortschritt Wert einen bestimmten Wert zu erreichen, wenn ich onther Fragment zu starten versuchen im gleichen Fall Aktivität es dieser FehlerKilling ein Hintergrund Thread, wenn ein Fragment zerstört
E/UncaughtException: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.support.v4.app.FragmentActivity.getResources()' on a null object reference
at com.example.mego.adas.ui.CarFragment$PotProgressThread$1.run(CarFragment.java:831)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7409)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.mego.adas, PID: 25935
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.support.v4.app.FragmentActivity.getResources()' on a null object reference
at com.example.mego.adas.ui.CarFragment$PotProgressThread$1.run(CarFragment.java:831)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7409)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
hier ist der Code für den Thread
class PotProgressThread implements Runnable {
@Override
public void run() {
while (potSensorValue <= 1025 && fragmentIsRunning) {
if (fragmentIsRunning) {
// Update the progress bar
potProgressBarHandler.post(new Runnable() {
public void run() {
potProgressBar.setProgress((int) potSensorValue);
if (potSensorValue >= 800) {
potProgressBar.setProgressDrawable(getActivity().
getResources().getDrawable(R.drawable.progressbarred));
} else {
potProgressBar.setProgressDrawable(getActivity().
getResources().getDrawable(R.drawable.progressbarblue));
}
}
});
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
break;
}
}
}
}
hier, wo ich meinen Thread werfen beginnen in onCreateView() -Methode
Hier ist der Code auf onDestoryview() -Methode
fragmentIsRunning = false;
potThread.interrupt();
wie kann ich es töten
Bitte teilen Sie Ihre 'onCreateView()' Methode Code. – Shailesh
ok ich werde die Frage bearbeiten –
getan überprüfen .. –