Skip to content

Latest commit

 

History

History

ex_1

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Ex1

  • Activity&Intent的使用

Activity基本使用

  • 手动创建活动
val intent = Intent()
intent.setClass(this, FirstActivity::class.java)
startActivity(intent);
  • 加载布局
class FirstActivity : AppCompatActivity() {
    var msg: String? = null;

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_first)
    }
}
  • 控件点击事件
b_first = this.findViewById<Button>(R.id.b_first)
b_first.setOnClickListener {
    // do something
}
  • 弹出Toast提示
b_test = this.findViewById<Button>(R.id.b_test)
b_test.setOnClickListener {
    Toast.makeText(this, "you click me", Toast.LENGTH_SHORT).show()
}

使用Intent显式跳转

val intent = Intent()
intent.setClass(this, FirstActivity::class.java)
startActivity(intent);

使用Intent隐式跳转

  • 拨号界面
val intent = Intent();
intent.addCategory(Intent.ACTION_CALL)
intent.data = Uri.parse("tel:12345")
startActivity(intent)
  • 浏览器
val intent = Intent()
intent.addCategory(Intent.CATEGORY_BROWSABLE)
intent.data = Uri.parse("https://baidu.com")
startActivity(intent);

Intent携带数据

val intent = Intent()
intent.putExtra("msg", "hello FirstActivity,i am MainActivity")
intent.setClass(this, FirstActivity::class.java)
startActivity(intent);

返回数据给上一个活动

  • 带请求代码启动activity
val intent = Intent()
intent.setClass(this, ThirdActivity::class.java)
startActivityIfNeeded(intent, 1);
  • 新activity回传结果
val intent = Intent()
intent.putExtra("return", "我回传一本给你")
setResult(Activity.RESULT_OK, intent)
finish()
  • 覆写方法获取返回结果
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
        val returnData = data?.getStringExtra("return")
        Toast.makeText(this, returnData, Toast.LENGTH_SHORT).show()
    }
}