活动1:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val button1 : Button = findViewById(R.id.button)
        val button2 : Button = findViewById(R.id.button2)
        val textView :TextView = findViewById(R.id.textView)
        button1.setOnClickListener{
            val data = textView.getText().toString()//获取文本框内容
            val intent = Intent(this,xryActivity2::class.java)
            intent.putExtra("extra_data",data)//显式intent
            startActivity(intent)
        }
        button2.setOnClickListener{
            val intent = Intent("com.example.activitytest.ACTION_START")
            intent.addCategory("com.example.activitytest.MY_CATEGORY")
            startActivityForResult(intent,1)//隐式intent
        }

    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        when(requestCode){
            1 -> if(resultCode == RESULT_OK){
                val returnedData = data?.getStringExtra("data_return")
                Toast.makeText(this,returnedData,Toast.LENGTH_SHORT).show()//用Toast显示
            }
        }
    }
}

活动2:(对话框)

class xryActivity2 : AppCompatActivity(),View.OnClickListener {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_xry2)
        val button3: Button = findViewById(R.id.button3)
        button3.setOnClickListener(this)
        val extraData = intent.getStringExtra("extra_data")//传入文本框内容
        Log.d("xryActivity2","extra data is $extraData")

    }

    override fun onClick(v: View?) {//设置对话框
        val extraData = intent.getStringExtra("extra_data")
        when(v?.id){
            R.id.button3 ->{
                AlertDialog.Builder(this).apply {
                    setTitle("This is Dialog")
                    setMessage(extraData)
                    setCancelable(false)
                    setPositiveButton("OK"){
                        dialog,which ->
                    }
                    setNegativeButton("Cancel"){
                        dialog,which ->
                    }
                    show()
                }
            }
        }
    }
}

活动3:

class xryActivity3 : AppCompatActivity() {
    @SuppressLint("ResourceType")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_xry3)
        val button4: Button = findViewById(R.id.button4)
        val textView :TextView = findViewById(R.id.textView2)
        button4.setOnClickListener{
            val intent = Intent(this,MainActivity::class.java)
            val inputText = textView.getText().toString()//获取文本框内容
            intent.putExtra("data_return",inputText)
            setResult(RESULT_OK,intent)
            finish()
        }
    }
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐