Я только недавно начал заниматься разработкой Android вскоре после того, как застрял.Я хочу знать, как я могу получить контекст MainActivity и его функции глобально (если это возможно)
Единственный метод, который мне нужен, - это передача контекста в качестве аргумента конструктору другого класса.this @ MainActivity не работает и не пытается получить функцию, такую как MainActivity.getContext (), которая возвращает контекст.
class MainActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView1.settings.javaScriptEnabled = true
webView1.webViewClient = Client(this) //Initialize the class
webView1.loadUrl("https://www.urbs.curitiba.pr.gov.br/mobile/cartao")
}
fun getContext(): Context //Not accessible from Client
{
return getContext()
}
}
//Client class
class Client(context: Context): WebViewClient()
{
val context: Context = context //This works
override fun onPageFinished(view: WebView, url: String)
{
webView1.loadUrl("https://kotlinlang.org/docs/reference/this-expressions.html")
Toast.makeText(context, "Uau", Toast.LENGTH_SHORT).show()
//using this@MainActivity as context is not defined
}
}
Было бы здорово, если бы я мог использовать функции из класса mainacctivity, но яЯ не очень знаком с языком, и поэтому я не могу сделать это (если это возможно) прямо сейчас.Это мой первый пост в stackoverflow, и мне очень жаль, если он низкого качества, я еще не знаком с системой.