Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

849
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!