我的一个意图不起作用[两个活动的代码相同]

问题描述 投票:0回答:1

[初学者] 我在 2 个活动和意图上添加了编辑文本,以便在它们之间共享信息。从 1 到 2 我发送问题(TextView 上的弹出窗口),从 2 到 1 我发送答案(TextView 上的弹出窗口)。

第二部分工作完美,但由于某种原因我无法发送问题。到底是什么

主要活动1:

class MainActivity : AppCompatActivity() {
    private lateinit var bq: ActivityMainBinding
    private lateinit var runner: ActivityResultLauncher<Intent>

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        bq = ActivityMainBinding.inflate(layoutInflater)
        setContentView(bq.root)

        runner = registerForActivityResult(ActivityResultContracts.StartActivityForResult())
        {result: ActivityResult ->

            if (result.resultCode == RESULT_OK) {
                val text = result.data?.getStringExtra("Go1")
                bq.t2.text = text
            }


        }
    }
    fun onClickGo2 (view: View) {
        val i = Intent(this, MainActivity2 :: class.java)
        i.putExtra("Go2", bq.ed1.text.toString())
        setResult(RESULT_OK, i)
        runner.launch(i)
    }
}`

MainActivity2 :

`class MainActivity2 : AppCompatActivity() {
    private lateinit var bq: ActivityMain2Binding
    private lateinit var runner2: ActivityResultLauncher<Intent>


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        bq = ActivityMain2Binding.inflate(layoutInflater)
        setContentView(bq.root)

        runner2 = registerForActivityResult(ActivityResultContracts.StartActivityForResult())
        {result: ActivityResult ->

            if (result.resultCode == RESULT_OK) {
                Log.d("MyLog", "Результат ${result.resultCode}")
                val text = result.data?.getStringExtra("Go2").toString()
                bq.t4.text = text

            }

        }
    }
    fun onClickGo1 (view: View) {
        val i = Intent()
        i.putExtra("Go1", bq.ed2.text.toString())
        setResult(RESULT_OK, i)
        finish()
    }
}
kotlin android-intent callback
1个回答
0
投票

在第一个

Activity
中,您将问题作为“额外”放在
Intent
中,然后将其发送到第二个
Activity
。然而,在第二个
Activity
中,您不会对启动中的“额外”做任何事情
Intent
。我没有看到任何代码从
Intent
中获取“额外”并将其放入
TextView
中。

© www.soinside.com 2019 - 2024. All rights reserved.