活动未将意图传递给onActivityResult()

这是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没有通过

yzf710905 回答:活动未将意图传递给onActivityResult()

从第二个活动中删除from bs4 import BeautifulSoup from selenium import webdriver url = "https://sports.media.daum.net/sports/team/epl/253" browser = webdriver.PhantomJS() browser.get(url) html = browser.page_source soup = BeautifulSoup(html,'lxml') a = soup.findAll("ul",{"class": "list_newsinfo"}) 并检查您得到了什么结果?

,

SecondActivity删除此代码:

startActivityForResult(intent,TEXT_REQUEST)

,然后在MainActivity.onActivityResult()中进行以下更改:

val reply = intent.getStringExtra(SecondActivity().EXTRA_REPLY)

对此:

val reply = data.getStringExtra(SecondActivity().EXTRA_REPLY)

您正在尝试从错误的Intent获取返回的“答复”。

本文链接:https://www.f2er.com/3124118.html

大家都在问