android studio 数据的传输
【代码】android studio 数据的传输。
·
活动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()
}
}
}
更多推荐
已为社区贡献4条内容
所有评论(0)