• activity


    一、顶部菜单

        //创建一个菜单
        override fun onCreateOptionsMenu(menu: Menu?): Boolean {
            menuInflater.inflate(R.menu.main,menu)
            return true
        }
        //触发事件
        override fun onOptionsItemSelected(item: MenuItem): Boolean {
            when(item.itemId){
                R.id.add_item -> Toast.makeText(this,"add",Toast.LENGTH_SHORT).show()
                R.id.del_item -> Toast.makeText(this,"del",Toast.LENGTH_SHORT).show()
            }
            return true
        }

    二、intent

    intent可以和activity、服务、广播交互。本节只讲 activity交互

    1.使用显式intent

            button.setOnClickListener {
                val intent = Intent(this, Main2Activity::class.java)
                startActivity(intent)
            }

    2.使用隐式intent

    AndroidManifest.xml

            <activity android:name=".Main2Activity">
                <intent-filter>
                    <action android:name="com.rockcheck.konlittest.ACTION_START" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>

    跳转到Main2Activity

            button.setOnClickListener {
                val intent=Intent("com.rockcheck.konlittest.ACTION_START")
                startActivity(intent)
            }

     使用intent调用浏览器

            button.setOnClickListener {
                val intent=Intent(Intent.ACTION_VIEW)
                intent.data= Uri.parse("https://www.baidu.com")
                startActivity(intent)
            }

     

     3.传参给下一个activity

    main1

            button.setOnClickListener {
                val intent=Intent(this,Main2Activity::class.java)
                intent.putExtra("key","data")
                startActivity(intent)
            }

    main2

            var str=intent.getStringExtra("key")
            Toast.makeText(this,str,Toast.LENGTH_SHORT).show()

    4.传回给上个界面

    main1

        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            button.setOnClickListener {
                val intent=Intent(this,Main2Activity::class.java)
                //
                startActivityForResult(intent,1)
            }
        }
    
        override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
            super.onActivityResult(requestCode, resultCode, data)
            when(requestCode){
                1 -> if(resultCode== RESULT_OK){
                    val res=data?.getStringExtra("key")
                    Toast.makeText(this,res,Toast.LENGTH_SHORT).show()
                }
            }
        }

    main2

        //按返回键
        override fun onBackPressed() {
            intent.putExtra("key","abc")
            setResult(RESULT_OK,intent)
            finish()
        }
  • 相关阅读:
    pycharm的集成vim
    几款在线脑图制作工具
    编辑器vim简介
    常用服务器ftp、ssh
    56. Merge Intervals
    58. Length of Last Word
    55. Jump Game
    53. Maximum Subarray
    52. N-Queens II
    51. N-Queens
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/12704605.html
Copyright © 2020-2023  润新知