Android Fragmento Problemas

Tengo dificultades para obtener fragmentos para actualizar sus puntos de vista … Específicamente, los fragmentos que existen en un ViewPager con ActionBarSherlock.

Aquí está mi clase de fragmento:

public class SearchFragment extends Fragment{ private String mInterests; private String mSentence; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.bounty_search_layout, container, false); } @Override public void onResume() { super.onResume(); getUserInterests(); } /* * Get the users interests from the underlying * data store. */ public void getUserInterests() { TextView tv = (TextView) getView().findViewById(R.id.bounty_search_txtResult); DatabaseHelper dbHelper = new DatabaseHelper(getActivity()); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query(DatabaseConstants.TABLE_NAME, null, null, null, null, null, null); cursor.moveToFirst(); mInterests = cursor.getString(cursor.getColumnIndex(DatabaseConstants.INTERESTS)); if(mInterests.length() == 0) { mSentence = "You have no interests."; } else { mSentence = "Your interests are: "; mInterests = cursor.getString(cursor.getColumnIndex(DatabaseConstants.INTERESTS)); } tv.setText(mSentence + mInterests); cursor.close(); db.close(); dbHelper.close(); } } 

La forma en que estoy llamando a este fragmento de mi FragmentActivity es en el siguiente …

 SearchFragment searchInterests = new SearchFragment(); 

Mis vistas en el fragmento se configuran correctamente cuando se ejecuta por primera vez, pero cuando llamo algo como …

 searchInterests.update(); 

De la FragmentActivity, para actualizar algunas vistas, getView () de

 TextView tv = (TextView) getView().findViewById(R.id.results); 

Devuelve null y falla. Me estoy esforzando para entender por qué esto es .. Alguien me había mencionado que es porque mi fragmento no está vinculado a nada … No entiendo muy bien esta parte y no sólo eso, pero simplemente no entiendo por qué getView () Puntos a null si onCreateView tuvo éxito la primera vez? ¿No getView () obtiene la vista devuelta por onCreateView? Aquí está el juego de códigos completo: https://gist.github.com/1369653

One Solution collect form web for “Android Fragmento Problemas”

Así que después de algún tiempo, me di cuenta … El problema estaba viniendo de cómo el FragmentPagerAdapter estaba devolviendo el fragmento …

 @Override public Fragment getItem(int position) { return Fragment.instantiate(mContext, mTabs.get(position), null); } 

Esto estaba devolviendo un nuevo fragmento cada vez que se llamaba getItem (). Sin embargo, también tenía …

 searchInterests = new SearchFragment(); selectInterests = new SelectFragment(); 

Que estaba creando un nuevo fragmento antes de que se agregara al adaptador. Así que el adaptador estaba recibiendo un nuevo fragmento y devolver un nuevo fragmento en lugar de devolver el mismo que le di. Así que simplemente cambió la función getItem () para devolver un nuevo fragmento si ya no existe ninguna de la misma clase.

  • Diseño lib - CoordinatorLayout / CollapsingToolbarLayout con GridView / listView
  • Agregando métodos a la clase Exist en android
  • Cómo adjuntar un PDF a un correo electrónico de la aplicación Android - El tamaño del archivo es cero
  • Principiante Programador Interesado en Android - ¿Debo comenzar con Java?
  • Uso de MatrixCursor y SimpleCursorAdapter en un ListView con texto e imágenes
  • Comportamiento extraño en la sentencia do / while en Galaxy S5 y Android 5.1.1
  • ¿Cómo puedo forzar mi aplicación Android a ejecutar sólo con RTL layout directon?
  • VoIP RTP Streaming desde / hacia el servidor (en Java) hacia / desde android
  • Intenta invocar método de interfaz en una referencia de objeto nulo finishComposingText ()
  • ¿Dividir dos enteros en Java me da 0 o 100?
  • ¿Cómo se muestra un NumberPicker de 2 dígitos en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.