Recuperar Contexto de un fragmento

Creé una clase para recuperar los comentarios de una codificación JSON de un archivo PHP. Esta clase, se extiende desde AsyncTask:

public class RecuperarComentarisFoto extends AsyncTask<String, String, String>{ @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(????); pDialog.setMessage("Creating Product.."); pDialog.setIndeterminate(false); pDialog.setCancelable(true); pDialog.show(); } @Override protected String doInBackground(String... arg0) { // TODO Auto-generated method stub return null; } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub super.onPostExecute(result); } } 

Como puede ver, estoy intentando mostrar un ProgressDialog mientras el proceso "doInBackground" está funcionando. Pero el constructor progressDialog, pide un Contexto, y no sé cómo proporcionarlo.

Estoy llamando a esta clase de un Fragmento, así que no puedo acceder al contexto como este:

 pDialog = new ProgressDialog(MyFragmentA.context); 

La actividad "principal" se llama: AndroidViewPagerActivity que extiende FragmentActivity.

(Por principal, quiero decir que es el que está creando las pestañas, y la gestión de la navegación entre ellos.)

Este es su código:

 public class AndroidViewPagerActivity extends FragmentActivity { ViewPager mViewPager; TabsAdapter mTabsAdapter; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mViewPager = new ViewPager(this); mViewPager.setId(R.id.pager); setContentView(mViewPager); final ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_HOME); bar.hide(); mTabsAdapter = new TabsAdapter(this, mViewPager); mTabsAdapter.addTab(bar.newTab().setText("Fragment A"), MyFragmentA.class, null); if (savedInstanceState != null) { bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0)); } } 

¿Cómo puedo acceder al contexto? ¿Qué contexto debo usar? "AndroidViewPagerActivity" contexto? Entonces, ¿cómo puedo acceder a su contexto de un fragmento?

Gracias.

Sergi

3 Solutions collect form web for “Recuperar Contexto de un fragmento”

Use getActivity() dentro del Fragment para obtener un Context que pueda transmitir. Eso funciona, ya que la Activity hereda del Context .

Como alternativa, puede utilizar getApplicationContext() para obtener el Context .

Bueno, ahora sé algo nuevo:

  • Tienes que obtener el contexto de la clase que instanció el fragmento.

Haces esto incluyendo esto en tu código en el fragmento ("el niño").

 Context cont; cont=getActivity(); 

Entonces, una vez que tengas el contexto, lo pasarás. En mi caso, tuve que pasar una clase AsyncTask, para poder mostrar un diálogo.

 new RecuperarComentarisFoto(cont).execute(); 

Y para terminar esto, en la clase "RecuperarComentarisFoto", creé un constructor. Como he leído, está bien hacerlo de esta manera.

 private Context mContext; public RecuperarComentarisFoto(Context context){ this.mContext=context; } 

Y la magia:

 @Override protected void onPreExecute() { super.onPreExecute(); ProgressDialog pDialog = new ProgressDialog(this.mContext); pDialog.setMessage("Creating Product.."); pDialog.setIndeterminate(false); pDialog.setCancelable(true); pDialog.show(); } 

Todo esto termina con: Introduzca aquí la descripción de la imagen

FragmentActivity esto le dará el contexto de la actividad y entonces usted puede pasarlo a su AsyncTask.

  • Espacio en blanco al escalar imageview en gridview
  • FileNotFoundException en la versión de Android> 2.3
  • Static Array de cadena debe convertirse de base de datos
  • Corriendo Android Studio en Windows 7 falla, no Android SDK encontrado
  • Actividad que se crea dos veces en android
  • ¿Cuál es el objetivo de establecer el tamaño mínimo del montón en una aplicación para Android?
  • Bloqueo de archivos a través de servicios
  • Error de sintaxis en token variabledeclaratorid esperado después de este token
  • ¿Qué significa que un método esté obsoleto y cómo puedo resolver los errores resultantes?
  • Android no puede abrir mi aplicación
  • ViewPager dentro de Fragmento no muestra a pesar de usar getChildFragmentManager () al construir FragmentPagerAdapter
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.