繁体   English   中英

使用 onActivityResult 调用函数

[英]Use onActivityResult to call a function

我有一个弹出窗口的PopUpActivity ,我对此非常满意。

但是,我希望能够将信息从弹出窗口返回给父活动,而且一旦弹出窗口关闭,还能够调用父活动上的函数。 有人可以帮助我吗?

这是我在PopUpActivity代码:

public void closePopUpAndSendResultBack(){ // and how can i pass data to the previous activity?
    //https://developer.android.com/training/basics/intents/result
    Intent data = new Intent();
    data.putExtra("data", "yo");
    //startActivityForResult(data, 1);  // gives me the error : android.content.ActivityNotFoundException: No Activity found to handle Intent { (has extras) }
    setResult(Activity.RESULT_OK, data);
    finish();

}

这是我想在 popUpWindow 关闭后调用的父(MainActivity)函数:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == 1) {
        if (resultCode == RESULT_OK) {

            nameTextField.setText(""); // how can i get Yo inside here?
            showTheButton(); // and how can this function get called?

        }

    }
}}

此外,这是我如何从我的 Mainactivity 中弹出该窗口:

     theOkButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent pop_up_that_window = new Intent(MainActivity.this,PopActivity.class);
            pop_up_that_window.putExtra("first", "Velkommen du der!");
            startActivity(pop_up_that_window);

        }
    });


 }

有人可以帮我吗?

在 MainActivity 中使用:

theOkButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        Intent pop_up_that_window = new Intent(MainActivity.this,PopActivity.class);
        pop_up_that_window.putExtra("first", "Velkommen du der!");
        MainActivity.this.startActivityForResult(pop_up_that_window, 1);

    }
});

仍然在 onActivityResult() 的 MainActivity 中使用以下代码:

String yo = data.getStringExtra("data")
nameTextField.setText(yo);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM