java - 使用 onActivityResult 调用函数

标签 java android

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

但是,我希望能够将弹出窗口中的信息返回到父 Activity ,而且还能够在弹出窗口关闭后调用父 Activity 上的函数。有人可以帮助我吗?

这是我在 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();

}

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

@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);

    }
});

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

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

关于java - 使用 onActivityResult 调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59800275/

相关文章:

java - Mahout 中的 IllegalArgumentException

java - Spring :Inserting cookies in a REST call response

android - UIL图像显示在GridView中imageView的中心

java - (Java LibGDX) 如何在 LibGDX 中调整纹理大小?

android - 在 Android 中重新抛出异常

java - 'this' :method not applicable for the argument, 的一些问题也改进了格式

java - 关联表未映射 - Hibernate + netbeans

java - Android Holoeverywhere Proguard hell

android - Searchview 清除按钮问题

java - OpenCV 消除扫描伪影并旋转内容