这里就记录写法
控件初始化与点击事件
val text: TextView = findViewById(R.id.text);
text.setOnClickListener {
Toast.makeText(this, "点击", Toast.LENGTH_LONG).show()
}
Intent 使用与传值
第一个类传值:
val text: TextView = findViewById(R.id.text);
text.setOnClickListener {
val myIntent = Intent(this,TwoActivity::class.java)
myIntent.putExtra("key","你好")
startActivity(myIntent)
}
第二个类取值:
val value = intent.getStringExtra("key")
Log.w("取到值", "" + value)
给上一个 activity 返回数据
用到 startActivityForResult,第一个 activity 加入跳转和接收数据:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val text: TextView = findViewById(R.id.text);
text.setOnClickListener {
val myIntent = Intent(this, TwoActivity::class.java)
startActivityForResult(myIntent, 100)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
Log.w("返回", "requestCode:" + requestCode + ";resultCode" + resultCode)
if (requestCode == 100) {
if (resultCode == Activity.RESULT_OK) {
val returnData = data?.getStringExtra("key1")
Log.w("返回取到值", "" + returnData)
}
}
}
}
第二个 activity 返回数据:
class TwoActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val textTwo: TextView = findViewById(R.id.text);
textTwo.setOnClickListener {
val intent = Intent()
intent.putExtra("key1", "返回值")
setResult(Activity.RESULT_OK, intent)
finish()
}
}
}
companion object 使用
companion object 相当于 Java 的静态方法:
class MyUtils {
companion object {
fun setName(str: String) {
Log.w("setName调用", "" + str)
}
}
}
调用:
MyUtils.setName("111")