在我陷入困境后不久,我最近才开始谈论android开发。我想知道如何获得MainActivity的上下文和它的全局函数(如果可能的话)
我要使用的唯一方法是将上下文作为参数传递给另一个类的构造函数。此@MainActivity不起作用,也不会尝试获取返回上下文的函数,如MainActivity.getContext()。
代码语言:javascript运行复制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
}
}如果我可以使用mainactivity类中的函数,那就太好了,但是我并不真正熟悉这门语言,因此我现在不能这样做(如果可能的话)。这是我在stackoverflow上的第一篇文章,如果质量太低,我真的很抱歉,我还不熟悉这个系统。