Quiero usarlo en mi adaptador de matriz. Cuando puse this
en una subactividad para crear un adaptador, no funciona.¿Cómo obtener el contexto actual?
Respuesta
Puede usar getBaseContext()
pero esto es not a local context
.
getApplicationContext() se puede obtener el valor de contexto
Esto devuelve el contexto de la aplicación, no el contexto actual, ambos son diferentes. –
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
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.
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));
}
});
- 1. obtener contexto de usuario actual
- 2. ¿Cómo obtener el nombre de contexto actual de rspec?
- 3. autenticados WCF: Obtener el contexto de seguridad actual
- 4. unido al contexto actual
- 5. ¿Cómo obtener el lienzo actual?
- 6. ¿Cómo obtener el directorio actual?
- 7. HttpUtility no existe en el contexto actual
- 8. 'Sesión' no existe en el contexto actual
- 9. ¿Cómo obtener el contexto desde cualquier lugar?
- 10. Android: ¿Cómo obtener el contexto de la aplicación actual en AsyncTask?
- 11. Cómo ejecutar IRB.start en el contexto de la clase actual
- 12. ¿Cómo averiguar el contexto actual de control de desbordamiento?
- 13. Obtener lienzo desde el contexto
- 14. Obtener el color actual
- 15. SignalR ASPNetHost no existe en el contexto actual
- 16. El nombre 'EVAL' no existe en el contexto actual
- 17. Contexto actual de sesión de NHibernate Problema
- 18. ¿Cómo obtener el ID de proceso actual?
- 19. ¿Cómo obtener el sello de hora actual?
- 20. ¿Cómo obtener el GUID del usuario actual?
- 21. Cómo obtener el año actual usando Vba
- 22. Android: ¿Cómo obtener el cifrado Wifi actual?
- 23. ¿Cómo obtener el área de ejecución actual?
- 24. ¿Cómo obtener el número de línea actual?
- 25. El nombre 'controlname' no existe en el contexto actual
- 26. El nombre 'ClientScript' no existe en el contexto actual
- 27. El nombre 'ConfigurationManager' no existe en el contexto actual
- 28. obtener el contexto en onCreate en SQLiteOpenHelper
- 29. ¿Cómo obtener el nombre del módulo actual en Haskell
- 30. Obtener página actual mediante programación
esto no funciona – Xvegas