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.

  • Eclipse crea extends ActionBarActivity en lugar de actividad
  • ¿Hay alguna manera de iniciar la aplicación justo después de la instalación usando alguna "aplicación auxiliar"?
  • Uso de matrices en firebase
  • Puntero nulo en getApplicationContext ()
  • Android: ¿Cómo obtener el color de fondo de Actividad en Java?
  • Finalización de la asignación de actividad de la interfaz de usuario
  • Android - Cómo mover ImageView en deslizar
  • ¿Cómo puedo pasar una clase genérica como param a Intent constructor
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.