这是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),TEXT_REQUEST)
finish()
}
}
代码有什么问题? TEXT_REQUEST和RESULT CODE没有通过