Buscador de Roman Nurik – cómo acceder a los datos recopilados?

Estoy intentando hacer un mago usando la biblioteca de Roman Nurik ( https://plus.google.com/113735310430199015092/posts/6cVymZvn3f4 ).

Tengo problemas para acceder a los datos recopilados del Fragmento de Revisión. Hice mCurrentReviewItems público en ReviewFragment y luego lo probé así

mNextButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (mPager.getCurrentItem() == mCurrentPageSequence.size()) { ReviewFragment reviewFragment = (ReviewFragment) mPagerAdapter.getItem(mPager.getCurrentItem()); for (ReviewItem item : reviewFragment.mCurrentReviewItems) Log.d(MainActivity.TAG, "Item: " + item.getDisplayValue()); } } else { if (mEditingAfterReview) { mPager.setCurrentItem(mPagerAdapter.getCount() - 1); } else { mPager.setCurrentItem(mPager.getCurrentItem() + 1); } } } }); 

Sin embargo su siempre nulo.

Dentro if (mPager.getCurrentItem() == mCurrentPageSequence.size()) { }

Para una variable de página única:

 String data = mWizardModel.findByKey("Sandwich:Bread").getData().getString(Page.SIMPLE_DATA_KEY); 

Para la página personalizada:

 String data = mWizardModel.findByKey(THE_KEY).getData().getString(CustomerInfoPage.YOUR_DATA_KEY); 

Si desea asignar los datos de nuevo al asistente, poner esto al final de onCreate en FragmentActivity:

 Bundle data = new Bundle(); if (!TextUtils.isEmpty(DATA_STRING)) { data.putString(Page.SIMPLE_DATA_KEY, DATA_STRING); mWizardModel.findByKey("Sandwich:Bread"").resetData(data); } 

La clave "Sandwich: Pan" es del ejemplo, cambie lo que le convenga. Nunca probar el multi uno, creo que es más o menos lo mismo.

Lo siento por un gran retraso, pero creo que alguien encontrará esta información útil. He encontrado una manera de obtener todos los ReviewItems ya que puede tener un montón de ramas y no será capaz de utilizar la primera respuesta.

Estoy bastante seguro, que su mPagerAdapter::getItem código se veía como en el ejemplo (por lo que acaba de regresar nuevo fragmento, en lugar de devolver el fragmento de paginador actual). Tienes que usar instantiateItem para obtener referencia en tu ReviewFragment .

 Object o = mPager.getAdapter().instantiateItem(mPager, mPager.getCurrentItem()); if(o instanceof ReviewFragment) { List<ReviewItem> items = ((ReviewFragment) o).getCurrentReviewItems(); if(items != null) { Log.v(TAG, "Items are: " + items.toString()); } } 
  • NullPointerException intentando acceder a un recurso de cadena
  • Android.app.Application no se puede instanciar debido a NullPointerException
  • Nullpointerexception en getView de ArrayAdapter personalizado
  • Posible motivo de "Error: no se pueden generar carpetas de vista java.lang.NullPointerException"
  • Android get La barra de acción de soporte siempre devuelve NULL
  • Android: NullPointerException a pesar de @NonNull
  • Excepción de puntero nulo al iniciar una nueva actividad
  • IllegalStateException: Fragmento <ThisFragment> no está actualmente en el FragmentManager
  • PreferenceFragment.findPreference devuelve siempre NULL
  • ¿Cómo desactivar la interacción con los vídeos html5 en webview o capturar correctamente sus excepciones?
  • Excepción de puntero nulo al instanciar la resolución de contenido?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.