【发布时间】:2020-03-07 03:56:34
【问题描述】:
这是 Kotlin 主要活动,它在从第二个活动接收数据时遇到问题(在此之后发布)
class MainActivity : AppCompatActivity() {
private val LOG_TAG = MainActivity::class.java.simpleName
val EXTRA_MESSAGE = "com.example.android.twoactivities.extra.MESSAGE"
val TEXT_REQUEST = 1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun launchSecondActivity(view: View) {
Log.d(LOG_TAG, "Button clicked!")
val intent = Intent(this, SecondActivity::class.java)
val message = "${editText_main.text}"
intent.putExtra(EXTRA_MESSAGE, message)
Toast.makeText(applicationContext, intent.getStringExtra(EXTRA_MESSAGE), Toast.LENGTH_LONG).show()
startActivityForResult(intent, TEXT_REQUEST)
editText_main.text.clear()
}
public override fun onActivityResult(requestCode: Int, resultCode: Int,
data: Intent?
) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == TEXT_REQUEST) {
if (resultCode == RESULT_OK) {
val reply = intent.getStringExtra(SecondActivity().EXTRA_REPLY)
(findViewById<TextView>(R.id.text_header_reply) as TextView).setVisibility(View.VISIBLE)
(findViewById(R.id.text_message_reply) as TextView).setText(reply)
}
}
}
}
这是第二个活动,
class SecondActivity : AppCompatActivity() {
val TEXT_REQUEST = 1
val EXTRA_REPLY = "com.example.android.twoactivities.extra.REPLY"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
var message = intent.getStringExtra(MainActivity().EXTRA_MESSAGE)
val textView2 = findViewById(R.id.text_message) as TextView
if (textView2 != null) {
textView2.setText(message)
}
}
fun returnReply(view: View) {
val intent = Intent(this, MainActivity::class.java)
val reply = "${editText_second.text}"
intent.putExtra(EXTRA_REPLY, reply)
setResult(RESULT_OK,intent)
Toast.makeText(applicationContext, intent.getStringExtra(EXTRA_REPLY), Toast.LENGTH_LONG).show()
startActivityForResult(intent, TEXT_REQUEST)
finish()
}
}
代码有什么问题? TEXT_REQUEST 和 RESULT CODE 没有通过
【问题讨论】:
标签: android-studio kotlin android-intent