Android 在活动之间发送侦听器
我在FragmentStatePagerAdapter中有片段(x),它在活动(y)中,在片段(x)中我有startActivity到另一个活动(z),如何将侦听器或回调从活动(z)发送到活动(y)你不能。但您可以使用startActivityForResult启动活动(z)。在活动(z)活动完成之前,您必须设置一个结果。 然后您可以在活动(y)中处理此结果 看看这个Android 在活动之间发送侦听器,android,android-activity,activity-lifecycle,Android,Android Activity,Activity Lifecycle,我在FragmentStatePagerAdapter中有片段(x),它在活动(y)中,在片段(x)中我有startActivity到另一个活动(z),如何将侦听器或回调从活动(z)发送到活动(y)你不能。但您可以使用startActivityForResult启动活动(z)。在活动(z)活动完成之前,您必须设置一个结果。 然后您可以在活动(y)中处理此结果 看看这个 开始第二项活动以获得结果 static final int PICK_CONTACT_REQUEST = 1; // The
开始第二项活动以获得结果
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);
}
然后在完成第二个活动设置结果意图之前
Intent resultIntent = new Intent()
resultIntent.putExtra("SOME_TAG", SOME RESULT HERE)
activity.setResult(Activity.RESULT_OK, resultIntent);
activity.finish();
然后在第一个活动中,此意图将在onActivityResult方法中处理
@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)
}
}
}
你可以试试看