Java 如何在其他活动中执行操作?android

Java 如何在其他活动中执行操作?android,java,android,android-intent,Java,Android,Android Intent,我有两个活动,活动A有webview,活动B有透明布局的按钮。当我按下活动B中的按钮时,我想关闭活动B并刷新或在活动A中执行某些操作。 我尝试了共享首选项,但如果不重新启动活动A,该选项将不起作用。请查看相关文档 更新以包含示例 static final int PICK_CONTACT_REQUEST = 1; // The request code ... private void pickContact() { Intent pickContactIntent = new Int

我有两个活动,活动A有webview,活动B有透明布局的按钮。当我按下活动B中的按钮时,我想关闭活动B并刷新或在活动A中执行某些操作。
我尝试了共享首选项,但如果不重新启动活动A,该选项将不起作用。

请查看相关文档

更新以包含示例

static final int PICK_CONTACT_REQUEST = 1;  // The request code
...
private void pickContact() {
    Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
    pickContactIntent.setType(Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
    startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request we're responding to
    if (requestCode == PICK_CONTACT_REQUEST) {
        // Make sure the request was successful
        if (resultCode == RESULT_OK) {
            // The user picked a contact.
            // The Intent's data Uri identifies which contact was selected.

            // Do something with the contact here (bigger example below)
        }
    }
}

在活动a中创建一个方法作为refreshmethod,并从活动B中调用它,如下所示:

ActivityA activitya:
//stuff
activitya = new ActivityA();
button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            activitya.refreshmethod();
        }
    });

希望有帮助。

您不能在活动中使用new(它可以编译,但不能工作)。即使可以,这样做也会创建一个新的ActivityA,而不是引用现有的ActivityA。你的意思是“新”在某个activity内部或与某个activity一起?与某个activity一起。新的ActivityA将创建一个对象,但它不会启动一个活动,并且它与之前发布的ActivityA版本不同。非常感谢Simo和lsaac