que tiene la siguiente implementación de la interfaz propia en mi Fragmento:NullPointerException en restartLoader Método de LoaderManager
@Override
public void onReportChanged(Fragment sender, long id, int position) {
// Views ein und ausblenden
_List.setVisibility(View.GONE);
_OnLoading.setVisibility(View.VISIBLE);
_NoDataView.setVisibility(View.GONE);
_ReportId = id;
getLoaderManager().restartLoader(_LM_REPORTS, null, this);
};
El informe FragmentActivity a este fragmento, que otro fragmento (lista de selección) ha seleccionado un elemento. Después de eso, ListFragment debería cargar nuevos datos con la ID reportada (_ReportId).
Pero recibo NullPoinerException
en este código antes de ir a método de creación de carga. Aquí está el LogCat:
05-28 14:24:37.905: E/AndroidRuntime(1775): FATAL EXCEPTION: main
05-28 14:24:37.905: E/AndroidRuntime(1775): java.lang.NullPointerException
05-28 14:24:37.905: E/AndroidRuntime(1775): at android.support.v4.app.LoaderManagerImpl.restartLoader(LoaderManager.java:637)
05-28 14:24:37.905: E/AndroidRuntime(1775): at de.webducer.android.worktime.beta.ui.fragment.ReportListFragment.onReportChanged(ReportListFra gment.java:142)
05-28 14:24:37.905: E/AndroidRuntime(1775): at de.webducer.android.worktime.beta.ui.ReportListActivity.onReportSelected(ReportListActivity.java:97)
05-28 14:24:37.905: E/AndroidRuntime(1775): at de.webducer.android.worktime.beta.ui.fragment.ReportSelectorSpinnerFragment$1.onItemSelected(ReportSelectorSpinnerFragment.java:78)
05-28 14:24:37.905: E/AndroidRuntime(1775): at android.widget.AdapterView.fireOnSelected(AdapterView.java:882)
05-28 14:24:37.905: E/AndroidRuntime(1775): at android.widget.AdapterView.access$200(AdapterView.java:48)
05-28 14:24:37.905: E/AndroidRuntime(1775): at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:848)
05-28 14:24:37.905: E/AndroidRuntime(1775): at android.os.Handler.handleCallback(Handler.java:605)
05-28 14:24:37.905: E/AndroidRuntime(1775): at android.os.Handler.dispatchMessage(Handler.java:92)
05-28 14:24:37.905: E/AndroidRuntime(1775): at android.os.Looper.loop(Looper.java:137)
05-28 14:24:37.905: E/AndroidRuntime(1775): at android.app.ActivityThread.main(ActivityThread.java:4424)
05-28 14:24:37.905: E/AndroidRuntime(1775): at java.lang.reflect.Method.invokeNative(Native Method)
05-28 14:24:37.905: E/AndroidRuntime(1775): at java.lang.reflect.Method.invoke(Method.java:511)
05-28 14:24:37.905: E/AndroidRuntime(1775): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-28 14:24:37.905: E/AndroidRuntime(1775): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-28 14:24:37.905: E/AndroidRuntime(1775): at dalvik.system.NativeStart.main(Native Method)
No entiendo por qué. El mismo código (pero para la otra lista) funciona bien en la otra FragmentActivity.
Todavía no entiendo la explicación ... ¿Podrías elaborar un poco más? ¿Qué significa: "El cargador siempre tiene que funcionar"? – Entreco
Creo que quiere decir que si _ReportId = -1, no crearía un cargador por lo que el valor de "returnValue = null". Luego, el gestor de carga intenta iniciar un cargador nulo y arroja el puntero nulo. –
lo que se informa id aquí –