这是主要活动
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var userInput:EditText = findViewById(R.id.usr_input) as EditText
var button:Button = findViewById(R.id.ent_btn) as Button
button.setOnClickListener {
var name = userInput.text
val intent = Intent(this@MainActivity, screenTwo::class.java)
intent.putExtra("name", name)
startActivity(intent)
}
}
}
这是第二个屏幕
class screenTwo : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_screen_two)
var userName:TextView = findViewById(R.id.user_name) as TextView
var editText:EditText = findViewById(R.id.usr_text) as EditText
var outText:TextView = findViewById(R.id.output) as TextView
var showButton:Button = findViewById(R.id.btn_show) as Button
var back:Button = findViewById(R.id.btn_back) as Button
var name = intent.getStringExtra("name")
userName.text = name
showButton.setOnClickListener {
var text:String = editText.text.toString()
outText.text = text
}
back.setOnClickListener {
var goback = Intent(this@screenTwo, MainActivity::class.java)
startActivity(goback)
}
}
}
当我在主要活动中单击按钮(变量名)时,该应用程序将关闭。在第二个屏幕中是意图还是出了什么问题??
答案 0 :(得分:0)
意图未在 SecondActivity
中定义在 SecondActivity 中:通过getIntent()
类screenTwo:AppCompatActivity(){
var name = getIntent()。getStringExtra(“ name”)
答案 1 :(得分:0)
此配置中最常见的错误是您忘记在“应用程序”节点内的AndroidManifest.xml中声明 screenTwo (您的 MainActivity 应该已经定义了那里):
<activity
android:name=".screenTwo"
android:theme="yourTheme"/>
如果不是,错误日志可能会帮助我们帮助您。
答案 2 :(得分:0)
对不起,这是我身边的一个小错误。 我没有将变量“名称”转换为“字符串”
var name = userInput.text.toString() //correction
现在正在工作, 还是谢谢...