[Android] ما هو معنى أدتوباكستاك مع معلمة فارغة؟


Answers

تم إهمال إجاباتك. إذا كنت لا ترغب في إضافة شظايا إلى المكدس الخلفي يجب استخدام أقل من مقتطف من التعليمات البرمجية:

    public static void replaceFragment (@NonNull FragmentManager fragmentManager,
            @NonNull Fragment fragment,int frameId){

        checkNotNull(fragmentManager);
        checkNotNull(fragment);
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.replace(frameId, fragment);
        transaction.disallowAddToBackStack(); // <-- This makes magic!
        transaction.commit();
    }

أدناه لديك مثال لطيف كيف استخدامه:

GameFragment fragment = GameFragment.newInstance(mGameObject, currentQuestion);
ActivityUtils.replaceFragment(getFragmentManager(), fragment, R.id.main);
Question

لدي رمز العميل. هناك نشاط واحد فقط لجميع الشظايا أي نشاط واحد هو إدارة جميع شظايا.

يحتوي هذا النشاط على التعليمات البرمجية التالية لأي جزء في نهاية طريقة ذلك الجزء-

على سبيل المثال - جزء موريفراغمنت:

MoreFragment firstFragment = new MoreFragment();
getSupportFragmentManager().beginTransaction()
.replace(R.id.article_fragment, firstFragment)
.addToBackStack(null).commit();

وبالتالي،

1) ما هو معنى addToBackStack(null) تليها commit() ؟

2) لماذا تحتاج إلى تمرير معلمة فارغة addToBackStack ؟

3) كيفية الحصول على هذا الجزء بعد إضافتها مثل هذا؟

يبدو أن هذا الرمز غير مجدية كما ركضت رمز دون السطر الأخير .addToBackStack(null).commit() وركض دون أي مشاكل.