Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

846
Vistas
Acceda al contexto de la aplicación en el objeto complementario en kotlin

¿Cómo podemos acceder al contexto de la aplicación dentro del objeto complementario en Android kotlin? Tengo un objeto complementario dentro de una clase abstracta y quiero acceder al contexto para leer Preferencias compartidas, pero no puedo obtener el contexto.

ACTUALIZACIÓN: estoy trabajando con estas cosas en una biblioteca de Android y también la clase en la que estoy trabajando es abstracta

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

por favor vea esto ir al enlace

 class MainApplication : Application() { init { instance = this } companion object { private var instance: MainApplication? = null fun applicationContext() : Context { return instance!!.applicationContext } } override fun onCreate() { super.onCreate() // initialize for any // Use ApplicationContext. // example: SharedPreferences etc... val context: Context = MainApplication.applicationContext() } }
over 4 years ago · Santiago Trujillo Denunciar

0

Extiende la clase de aplicación como esta

 import android.app.Application import android.content.Context class MyApplication : Application() { override fun onCreate() { super.onCreate() MyApplication.appContext = applicationContext } companion object { lateinit var appContext: Context } }

luego obtén un contexto como este

 val context = MyApplication.appContext
over 4 years ago · Santiago Trujillo Denunciar

0

En realidad, estoy trabajando dentro de una biblioteca de Android y la clase es abstracta, por lo que no puedo seguir las soluciones ya sugeridas. Sin embargo, encontré la manera de hacerlo.

  1. Cree un campo de contexto lateinit dentro del objeto complementario.
 abstract class MyClass { companion object { private lateinit var context: Context fun setContext(con: Context) { context=con } } }
  1. Y luego configúrelo después de que la aplicación haya comenzado
 public class WelcomeActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); MyClass.Companion.setContext(this); } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda