私が作成したソフトボタンとすべてのAndroidデバイスのデフォルトであるsoftKeyでこの送信データタイプを実行したいという問題があるので、これを実行しました。最初にIntent
、 「A」Activity
:
Intent intent = new Intent();
intent.setClass(context, _AddNewEmployee.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivityForResult(intent, 6969);
setResult(60);
次に、2番目のアクティビティで、「B」のフィールドを宣言しましたActivity
。
private static int resultCode = 40;
次に、リクエストを成功させた後、または「A」アクティビティにこのジョブが正常に行われたことを伝えたい場合は、resultCodeの値を「A」Activity
で言ったのと同じ値に変更します。次に:
private void backToSearchActivityAndRequest() {
Intent data = new Intent();
data.putExtra("PhoneNumber", employeePhoneNumber);
setResult(resultCode, data);
finish();
}
@Override
public void onBackPressed() {
backToSearchActivityAndRequest();
}
PS:Super
これを適切に機能させる場合は、onBackPressedメソッドからを削除することを忘れないでください。
次にonActivityResult
、「A」アクティビティでもメソッドを呼び出す必要があります。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 6969 && resultCode == 60) {
if (data != null) {
user_mobile = data.getStringExtra("PhoneNumber");
numberTextField.setText(user_mobile);
getEmployeeByNumber();
}
}
}
それで終わりです。お役に立てば幸いです。#HappyCoding;
startActivityForResult