0 Sam Ahw نشر 15 ديسمبر 2021 أرسل تقرير نشر 15 ديسمبر 2021 يتم شطب الدوال التي تم تحديثها وإهمالها في النسخ الحديثة من android. وهذه الدالة أصبحت مهملة وتم استبدالها بالدالة registerForActivityResult حيث كانت الطريقة السابقة كالتالي: public void openSomeActivityForResult() { Intent intent = new Intent(this, SomeActivity.class); startActivityForResult(intent, 123); } @Override protected void onActivityResult (int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK && requestCode == 123) { doSomeOperations(); } } والتي يمكن استبدالها لتصبح بالشكل التالي: ActivityResultLauncher<Intent> someActivityResultLauncher = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() { @Override public void onActivityResult(ActivityResult result) { if (result.getResultCode() == Activity.RESULT_OK) { Intent data = result.getData(); doSomeOperations(); } } }); public void openSomeActivityForResult() { Intent intent = new Intent(this, SomeActivity.class); someActivityResultLauncher.launch(intent); } للمزيد من التفاصيل والأمثلة يمكنك مراجعة التوثيق الرسمي والبحث عن الدالة registerForActivityResult 1 اقتباس
السؤال
Abdullha Mohammad
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.