Android 在另一个活动中更改文本视图
我想单击一个图像按钮,让它打开一个新的活动,并更改该活动的文本视图。以下是我到目前为止所做的,以开始新的活动:Android 在另一个活动中更改文本视图,android,kotlin,Android,Kotlin,我想单击一个图像按钮,让它打开一个新的活动,并更改该活动的文本视图。以下是我到目前为止所做的,以开始新的活动: val bad = findViewById<ImageButton>(R.id.bad) bad.setOnClickListener { val intent = Intent(this, HomeActivity::class.java) startActivity(intent) }
val bad = findViewById<ImageButton>(R.id.bad)
bad.setOnClickListener {
val intent = Intent(this, HomeActivity::class.java)
startActivity(intent)
}
val bad=findViewById(R.id.bad)
bad.setOnClickListener{
val intent=intent(这是HomeActivity::class.java)
星触觉(意图)
}
但是我不知道在哪里添加更改文本视图文本onclick的信息。我用这种方法尝试了一下,效果很好,但是textview是在同一个XML中
fun onClick(view: View) {
val text = findViewById<TextView>(R.id.textView) as TextView
text.text = "Button clicked"
}
fun onClick(视图:视图){
val text=findviewbyd(R.id.textView)作为textView
text.text=“单击按钮”
}
是的,我对此做了广泛的研究,甚至在这里读过类似的文章。但我还是迷路了。我想为我的具体问题找到一个明确的答案。。。是的。提前感谢您的帮助 关于在活动之间传递数据有很多问题
基本上,您希望在意图中添加一个额外的字符串,然后在新活动中获取它,并将TextView
设置为使用该值onCreate
是一个很好的地方
val bad=findViewById(R.id.bad)
bad.setOnClickListener{
val intent=intent(这是HomeActivity::class.java)
//把数据放进去
intent.putExtra(“我的文本”,“文本视图中需要的任何文本”)
星触觉(意图)
}
override-fun-onCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
val textView=findViewById(R.id.textView)作为textView
//把数据拿出来
val newText=intent.getStringExtra(“我的文本”)
//执行任何操作(如果未添加额外的newText,则该文本将为null)
textView.text=newText
}
如何设置TextView以使用该值?与单击上面的代码相同,您只需执行intent.getStringExtra(添加时使用的键)
。只需在onCreate
或其他什么程序中执行,这通常是您执行所有findviewbyd
操作并设置UI位扫描的地方,您能举个例子吗?最好是在科特林。我发现的大多数示例(如果不是所有的话)都是Java的,如果更清楚的话,那就来吧!太好了!!谢谢!:)这回答了你的问题吗?
val bad = findViewById<ImageButton>(R.id.bad)
bad.setOnClickListener {
val intent = Intent(this, HomeActivity::class.java)
// put the data in
intent.putExtra("MY_TEXT", "whatever text you want in the TextView")
startActivity(intent)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val textView = findViewById<TextView>(R.id.textView) as TextView
// get the data out
val newText = intent.getStringExtra("MY_TEXT")
// do whatever (if you didn't add the extra newText will be null)
textView.text = newText
}