我有一个从另一个类调用函数的问题。
class MyActivity: AppCompatActivity()
{
override fun onCreate(savedInstanceState: Bundle?)
{...}
fun myFunction()
{...}
private class myAdapter (...) : BaseAdapter(), ListAdapter {
...
//some code
...
myFunction(); // <- How should I call it properly?
}
}
因为我得到了这个错误:java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference
我试着调用它MainActivity().myFunction(),但它也是一样。
2条答案
按热度按时间xoefb8l81#
你的适配器应该是一个内部类。否则,它无法访问MainActivity的属性。应该是这样的:内部类myAdapter(...)
它可以解决你的问题,但不要实现这种方法,因为它违背了干净的代码和开闭原则。
pkbketx92#
实际上,我找到我要找的了。我需要这样称呼它:
(context as MyActivity).myFunction()