Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在另一个活动中更改文本视图_Android_Kotlin - Fatal编程技术网

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
}