我试图在 Android 的Kotlin的单独类中调用一个简单函数:
public class TestOfAClass: AppCompatActivity() {
public fun ThisIsATest(thisTest: String) {
print(thisTest)
}
}
但在我有以下情况时进来
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
ThisIsATest("Hello World")
}
}
}
我得到Unresolved reference: ThisIsaTest
那我怎么从另一个类中调用一个函数呢?
答案 0 :(得分:0)
您要调用的方法是一个实例方法,最简单的答案是:
class MainActivity : AppCompatActivity() {
….
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
TestOfAClass().ThisIsATest("Hello World")
}
))
更好的答案是将您的方法重命名为驼峰式大小写:
public fun thisIsATest(thisTest: String) {
print(thisTest)
}
}
那样,您就知道它是方法而不是类。
但是,如果您要在两个活动之间进行通信,则这不是怎么做。还有其他几种选择,一种是使用startActivityForResult
:
https://developer.android.com/training/basics/intents/result