2011-01-18 13 views

Respuesta

30

getApplicationContext() se puede obtener el valor de contexto

+0

Esto devuelve el contexto de la aplicación, no el contexto actual, ambos son diferentes. –

22

Usted puede obtener contexto algunas de las formas:

por la actividad, utilizando Your_Activity_Name.this

por la aplicación, utilizando getApplicationContext()

Por el Ver, usando Your_View.getContext()

El único que haría n ot recommend está usando getBaseContext(). Si necesita algo universal, tenga una variable pública estática en su actividad principal y asigne el contexto de la aplicación cuando se inicie su aplicación. De esta forma, siempre puede llamar al Your_Activity.your_context_variable

2

Además de las respuestas anteriores correctas, le recomendamos que refaccione su código si ha llegado al punto en el que necesita acceder a "su" contexto desde una subactividad. Cuando crea una subactividad (es decir: startActivityForResult) está realmente esperando un resultado, no una acción en la actividad de la persona que llama. Luego, cuando la sub actividad ha terminado (y usted tiene el resultado de sus cálculos), puede acceder a su contexto de manera adecuada. Simplemente no parece correcto que la subactividad sea consciente de su creador, por no hablar de interactuar con él.

0

aquí tomamos contexto variables:

private Context acontext; 

Hacer el constructor del adaptador de tomar otra entrada como:

public Adapter_order_cancel(Context context,String[] myDataset, String[] job_id, String[] category, String[] name, String[] address) { 
     mDataset = myDataset; 
     _job_id = job_id; 
     _category = category; 
     _name = name; 
     acontext = context; 
    } 

Este es un oyente clic en el que se utilizó contexto:

v.setOnClickListener(new View.OnClickListener() { 

       @Override public void onClick(View v) { 
        Toast.makeText(itemView.getContext(), "Position: " + Integer.toString(getAdapterPosition()), Toast.LENGTH_LONG).show(); 
        acontext.startActivity(new Intent(acontext, OrderDetailPage.class)); 

       } 
      }); 
Cuestiones relacionadas