ভিউপ্যাজারের সাথে ট্যাবগুলি ব্যবহার করার সময় "জাভা.লাং.ইলিজলস্টেট স্টেপশন কার্যকলাপটি ধ্বংস হয়ে গেছে" ত্রুটি পাওয়া


110

আমার কাছে একটি অ্যাপ্লিকেশন রয়েছে যা ট্যাব মোডে অ্যাকশনবারারলক ব্যবহার করে। আমার কাছে 5 টি ট্যাব রয়েছে এবং প্রতিটি ট্যাবের সামগ্রী টুকরোগুলি ব্যবহার করে পরিচালনা করা হয়। যদিও ট্যাব 2 এর জন্য আমার কাছে একটি টুকরো এক্সএমএল ফাইল রয়েছে যার একটি ভিউপিজার উপাদান রয়েছে যার ফলস্বরূপ কিছু খণ্ড পৃষ্ঠা রয়েছে। আমি শুরুতে অ্যাপ্লিকেশনটি অ্যাপ্লিকেশনটি শুরু করার সময়, আমি কোনও সমস্যা ট্যাবগুলির মধ্যে স্যুইচ করতে সক্ষম হয়েছি কিন্তু যখন আমি দ্বিতীয়বারের জন্য ট্যাব 2 টিপছি তখন আমি উপরে উল্লিখিত ত্রুটিটি পেয়েছি। মূল ক্রিয়াকলাপটি নিম্নরূপ:

public class MainActivity extends SherlockFragmentActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ActionBar actionBar = getSupportActionBar();

        ActionBar.Tab tab1 = actionBar.newTab().setText("Tab1");
        ActionBar.Tab tab3 = actionBar.newTab().setText("Tab3");
        ActionBar.Tab tab2 = actionBar.newTab().setText("Tab2");
        ActionBar.Tab tab4 = actionBar.newTab().setText("Tab4");
        ActionBar.Tab tab5 = actionBar.newTab().setText("Tab5");

        Fragment fragment1 = new Tab1();
        Fragment fragment3 = new Tab3();
        Fragment fragment2 = new Tab2();
        Fragment fragment5 = new Tab5();
        Fragment fragment4 = new Tab4();

        tab1.setTabListener(new MyTabListener(fragment1));
        tab3.setTabListener(new MyTabListener(fragment3));
        tab2.setTabListener(new MyTabListener(fragment2));
        tab5.setTabListener(new MyTabListener(fragment5));
        tab4.setTabListener(new MyTabListener(fragment4));

        actionBar.addTab(tab1);
        actionBar.addTab(tab2);
        actionBar.addTab(tab3);
        actionBar.addTab(tab4);
        actionBar.addTab(tab5); 

        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    }

    class MyTabListener implements ActionBar.TabListener
    {
        Fragment fragment;

        public MyTabListener(Fragment fragment)
        {
            this.fragment = fragment;
        }

        @Override
        public void onTabSelected(com.actionbarsherlock.app.ActionBar.Tab tab,FragmentTransaction ft) 
        {
            ft.replace(R.id.fragment_container,fragment);
        }

        @Override
        public void onTabUnselected(com.actionbarsherlock.app.ActionBar.Tab tab,FragmentTransaction ft) 
        {

        }

        @Override
        public void onTabReselected(com.actionbarsherlock.app.ActionBar.Tab tab,FragmentTransaction ft) 
        {

        }
    }
}

ভিউপ্যাজার ছাড়াই খণ্ড খণ্ডটি নিম্নরূপ:

public class Tab1 extends Fragment 
{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
    {
        return inflater.inflate(R.layout.activity_tab1, container, false);
    }
}

ভিউপ্যাজারের সাথে খণ্ড শ্রেণিটি নিম্নরূপ:

public class Tab2 extends Fragment 
{
    ViewPager mViewPager;
    private MyFragmentPagerAdapter mMyFragmentPagerAdapter;  
    private static int NUMBER_OF_PAGES = 5;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
    {
        View view =  inflater.inflate(R.layout.activity_tab2, container, false); 
        return view;
    }

    @Override
    public void onViewCreated(View view,Bundle savedInstanceState)
    {
        super.onViewCreated(view, savedInstanceState);
        mViewPager = (ViewPager) view.findViewById(R.id.viewpager);
        mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getChildFragmentManager());  
        mViewPager.setAdapter(mMyFragmentPagerAdapter);  
    }

    private static class MyFragmentPagerAdapter extends FragmentPagerAdapter 
    {    
        public MyFragmentPagerAdapter(FragmentManager fm) 
        {  
             super(fm);  
        }  

        @Override  
        public Fragment getItem(int index) 
        {  
             return PageFragment.newInstance("My Message " + index);
        }  

        @Override  
        public int getCount() 
        {  
             return NUMBER_OF_PAGES;  
        }  
   }
}

আমি বিভিন্ন জায়গায় যা পড়েছি তা থেকে (এবং দয়া করে আমি ভুল হলে আমাকে সংশোধন করুন), এটি ঘটে কারণ দ্বিতীয় পাসের টুকরো ব্যবস্থাপক ক্রিয়াকলাপ থেকে টুকরোগুলি পুনরায় ব্যবহার করার চেষ্টা করে যা এইভাবে ত্রুটিটি দেয় না। তবে আমি নিশ্চিত না যে কেন এখানে খণ্ড খণ্ডন ব্যবহার করা হচ্ছে না কেন এটি ঘটছে। লগকাট অনুসারে ত্রুটিটি ট্যাব 2 শ্রেণিতে রয়েছে, লাইনটিতে ওভিউক্রিটেড পদ্ধতিতে যা এমভিউপেজ.সিআরএডাপ্টার (এমএমইফ্রেগমেন্টপেইজারএডাপ্টার) বলেছে। যে কোনও সহায়তা প্রশংসিত হয় ... ধন্যবাদ

03-04 12:01:05.468: E/AndroidRuntime(2474): FATAL EXCEPTION: main
03-04 12:01:05.468: E/AndroidRuntime(2474): java.lang.IllegalStateException: Activity has been destroyed
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1342)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.BackStackRecord.commitAllowingStateLoss(BackStackRecord.java:578)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:139)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.view.ViewPager.populate(ViewPager.java:1011)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.view.ViewPager.populate(ViewPager.java:880)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.view.ViewPager.setAdapter(ViewPager.java:433)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at com.example.tabs.Tab2.onViewCreated(Tab2.java:31)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:925)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.os.Handler.handleCallback(Handler.java:587)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.os.Handler.dispatchMessage(Handler.java:92)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.os.Looper.loop(Looper.java:123)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at android.app.ActivityThread.main(ActivityThread.java:3687)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at java.lang.reflect.Method.invokeNative(Native Method)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at java.lang.reflect.Method.invoke(Method.java:507)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
03-04 12:01:05.468: E/AndroidRuntime(2474):     at dalvik.system.NativeStart.main(Native Method)

সুতরাং আমি মনে করি আমি সমস্যাটি খুঁজে পেয়েছি। যখন গ্রহন ডিবাগারের মাধ্যমে এমএমফ্রেগমেন্টপেজার অ্যাডাপ্টার (শ্রেণি ট্যাব 2) দেখতে পেলাম তখন আমি দেখতে পেলাম যে এটির একটি ফ্র্যাগমেন্টম্যানেজার ভেরিয়েবল ছিল যা প্রথমবারের জন্য ট্যাব 2-এ ক্লিক করার সময় এমএসিটিভিটি নামে একটি ক্ষেত্র ছিল যা মেইনএকটিভিটির দিকে নির্দেশ করছে B তবে ট্যাব 2 থেকে কিছুতে স্যুইচ করার সময়? অন্যান্য ট্যাব এবং আবার অ্যাক্টিভিটির দিকে তাকাতে এর নালার একটি মান ছিল যা সম্ভবত এটি ব্যাখ্যা করে যে এটির ত্রুটি দেওয়ার কারণে ক্রিয়াকলাপটি ধ্বংস হয়ে গেছে।
ইয়ুল্রিক সিকুইরা

উত্তর:


284

এটি নেস্টেড টুকরোগুলির জন্য সদ্য যুক্ত হওয়া সমর্থনগুলিতে একটি বাগ বলে মনে হচ্ছে। মূলত, FragmentManagerকার্যকলাপটি থেকে বিচ্ছিন্ন হয়ে গেলে শিশুটি একটি ভাঙা অভ্যন্তরীণ অবস্থার সাথে শেষ হয়। একটি স্বল্প-মেয়াদী কাজের জন্য যা এটি আমার জন্য স্থির করে তা হ'ল আপনি যে onDetach()সমস্ত Fragmentকল getChildFragmentManager()করেন তার মধ্যে নিম্নলিখিতটি যুক্ত করা:

@Override
public void onDetach() {
    super.onDetach();

    try {
        Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");
        childFragmentManager.setAccessible(true);
        childFragmentManager.set(this, null);

    } catch (NoSuchFieldException e) {
        throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
        throw new RuntimeException(e);
    }
}

21
আপনি যদি খণ্ডের বাস্তবায়নটি লক্ষ্য করেন তবে আপনি দেখতে পাবেন যে বিচ্ছিন্ন অবস্থায় যাওয়ার সময়, এটি তার অভ্যন্তরীণ অবস্থাটি পুনরায় সেট করবে। তবে এটি এমচিল্ডফ্র্যাগমেন্টম্যানেজারটি পুনরায় সেট করে না (সমর্থন লাইব্রেরির বর্তমান সংস্করণে এটি একটি বাগ)। এর ফলে ফ্রেগমেন্টটি পুনরায় সংযুক্ত করা হয় এবং আপনি যে ব্যতিক্রমটি দেখেছেন সেটির কারণ হ'ল এটি চাইল্ড ফ্রেগমেন্ট ম্যানেজারকে পুনরায় যুক্ত করতে পারে না।
মার্কাস ফারসেল স্টাহারে

14
তুমি আমার সাথে মজা নিচ্ছ. আপনি এই পোস্ট পেয়েছি খুশি, কিন্তু ভাল শোক।
নিরাপদ বুট

8
এই বাগটি অ্যান্ড্রয়েড ওপেন সোর্স ইস্যু ট্র্যাকারে ট্র্যাক করা হচ্ছে: কোড. google.com/p/android/issues/detail?id=42601
ক্রিস্টোফার জনসন

3
এক চিমটি নুন, তবে এটি সমর্থন-ভি 4 সংস্করণ বা অ্যান্ড্রয়েড.এপ সংস্করণ ব্যবহার করে ব্যর্থ হচ্ছে। সুতরাং বাগটি কেবল সমর্থন লাইব্রেরিতেই ঘটে না
gbero

6
এটি সমর্থন লাইব্রেরি সংস্করণ 24.0.0 এ স্থির বলে মনে হচ্ছে। 'Android.support.v4.app.Fraament' এর 'পারফরম্যাডেটাচ ()', 'এমচিল্ডফ্রেগমেন্টম্যানেজার = নাল;' করুন।
এমারসন ডাল্লাগনোল

13

আমার ঠিক একই সমস্যা হচ্ছে আমি যে একমাত্র কাজটি পেয়েছি তা হ'ল টুকরোগুলিকে একটি নতুন উদাহরণ দিয়ে প্রতিস্থাপন করা, প্রতিবার ট্যাবগুলি পরিবর্তন করা হবে।

ft.replace(R.id.fragment_container, Fragment.instantiate(PlayerMainActivity.this, fragment.getClass().getName()));

আসল সমাধান নয়, তবে আমি পূর্ববর্তী খণ্ডের উদাহরণটি পুনঃব্যবহার করার কোনও উপায় খুঁজে পাইনি ...


1
বাহ অনেক ধন্যবাদ ... যা সমস্যার সমাধান করেছে it কেন এটি কাজ করে তার ব্যাখ্যা দেওয়া কি সম্ভব? আমি ফ্র্যাগমেন্টম্যানেজার ব্যবহার করে ত্রুটিটি ঠিক করার চেষ্টা করে আমার মাথা ভেঙছিলাম।
ইয়ুল্রিক সিকুইরা

1
আপনি কি আপনার স্মৃতি পদচিহ্ন বিশ্লেষণ করেছেন? কারণ এই
কার্যকারিতাটি

কেন এটি কাজ করে তা জানেন না .. এটি কীভাবে কাজ করে তা জানেন না তবে এটি কার্যকর হয় লোল

7

super.onCreate()আমার পদ্ধতির শেষে কল করার সময় আমি একই সমস্যার মুখোমুখি হয়েছিলাম । কারণ: attachActivity()ফ্র্যাগমেন্টএটিভিটির অনক্রিট () এ ডাকা হয়। ওভাররাইড করার সময় onCreate()এবং উদাহরণস্বরূপ, ট্যাবগুলি তৈরি করার সময়, ট্যাব ম্যানেজারটি ফ্র্যাগমেন্টম্যানেজারের সাথে ক্রিয়াকলাপটি সংযুক্ত না রেখে একটি খণ্ডে স্যুইচ করার চেষ্টা করবে।

সহজ সমাধান: কলটি super.onCreate()ফাংশন বডির মাথায় নিয়ে যান ।

সাধারণভাবে, মনে হচ্ছে এই সমস্যা দেখা দেওয়ার অনেক কারণ রয়েছে। এটি ঠিক অন্য একটি ...

ম্যাথিয়াস


আপনাকে অনেক ধন্যবাদ, আপনি আমার দিন বাঁচিয়েছেন! আমারও একই সমস্যা ছিল এবং এক সপ্তাহ পরেও এটিকে সমাধান করতে পারিনি ((। সুতরাং আমি খুব খুশি হয়েছি আপনি এই উত্তরটি লিখেছেন !!!
জোনাসপিটিএফএফএল

4

আমার সমস্যাটি এমন একটি ক্রিয়াকলাপে ছিল তা যুক্ত করতে চেয়েছিলাম যেখানে আমি কল করার FragmentTransactionআগে আমি অনক্রিট করার চেষ্টা করেছি super.onCreate()। আমি সবেমাত্র super.onCreate()ফাংশনের শীর্ষে চলে এসেছি এবং ভাল কাজ করা হয়েছিল।


2

আমার এই ত্রুটি ছিল কারণ আমি লোকালড্রোডকাস্টম্যানেজারটি ব্যবহার করছিলাম এবং আমি করেছি:

unregisterReceiver(intentReloadFragmentReceiver);

পরিবর্তে:

LocalBroadcastManager.getInstance(this).unregisterReceiver(intentReloadFragmentReceiver);

1
এটি আমার সমস্যা সমাধান করে না। তবে ধন্যবাদ এটি আমাকে ব্রডকাস্টআরসিভারগুলি ব্যবহার করার ক্ষেত্রে আমার ভুলগুলি সংশোধন করতে সহায়তা করেছে
nmxprime

যদি আপনার কার্যকলাপের প্রসঙ্গটি শূন্য হয় ull তারপরে 'এটি' বৈধ হবে না।
ইগোরগানাপলস্কি

ক্রিয়াকলাপ প্রসঙ্গটি নাল হতে পারে? আমি কখনও মনে করি না।
মালাচিয়াজ

2

আমি একই সমস্যা সম্মুখীন হয়েছে এবং lateron জানতে পারলেন যে, আমি কল মিস করেছেন super.onCreate( savedInstanceState );মধ্যে onCreate()FragmentActivity করুন।


1

FragmentManagerখণ্ডটি সম্পূর্ণরূপে শুরু হওয়ার আগে শিশুটির অ্যাক্সেস করার চেষ্টা করার সময় আমি খুব একই ত্রুটি পেয়েছি (যেমন কার্যকলাপের সাথে সংযুক্ত বা কমপক্ষে onCreateView()ডাকা হয়েছে)। অন্যথায় পূর্বোক্ত ব্যতিক্রম ঘটায় এমন ক্রিয়াকলাপ FragmentManagerদিয়ে আরম্ভ করা হবে null


1

আমি বাচ্চার টুকরাযুক্ত টুকরাটিকে অনপস-এ নুল করতে বাধ্য করি এবং এটি আমার সমস্যার সমাধান করে

fragment = null;

1

আমি জানি এটি একটি পুরানো পোস্ট, তবে প্রস্তাবিত উত্তরগুলি আমার শেষের দিকে কার্যকর হয়নি। কেউ যদি এটির কাজে লাগে সে ক্ষেত্রে আমি এটি এখানে রেখে যেতে চাই।

আমি যা করেছি তা হ'ল:

@Override
public void onResume() {
    super.onResume();
    // add all fragments
    FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();
    for(Fragment fragment : fragmentPages){
        String tag = fragment.getClass().getSimpleName();
        fragmentTransaction.add(R.id.contentPanel, fragment, tag);
        if(fragmentPages.indexOf(fragment) != currentPosition){
            fragmentTransaction.hide(fragment);
        } else {
            lastTag = tag;
        }
    }
    fragmentTransaction.commit();
}

তারপরে:

@Override
public void onPause() {
    super.onPause();
    // remove all attached fragments
    for(Fragment fragment: fragmentPages){
        getChildFragmentManager().beginTransaction().remove(fragment).commit();
    }
}

0

আমার এই সমস্যাটি ছিল এবং আমি এখানে সমাধানটি খুঁজে পাই না, সুতরাং অন্য কারও যদি আবার সমস্যা হয় তবে আমি আমার সমাধানটি ভাগ করতে চাই।

আমার এই কোডটি ছিল:

public void finishAction() {
  onDestroy();
  finish();
}

এবং "onDestroy ()" লাইনটি মুছে ফেলে সমস্যার সমাধান করেছেন;

public void finishAction() {
  finish();
}

আমি প্রাথমিক কোডটি লেখার কারণ: আমি জানি যে আপনি যখন "ফিনিশ ()" ক্রিয়াকলাপটি "onDestroy ()" চালাবেন তবে আমি থ্রেড ব্যবহার করছি এবং আমি পরবর্তী কার্যকলাপ শুরু করার আগে সমস্ত থ্রেড নষ্ট হয়ে গেছে তা নিশ্চিত করতে চেয়েছিলাম , এবং দেখে মনে হচ্ছে "সমাপ্তি ()" সবসময় তাত্ক্ষণিকভাবে হয় না। আমার প্রচুর "বিটম্যাপ" প্রসেস / হ্রাস করতে হবে এবং বড় "বিটম্যাপস" প্রদর্শন করতে হবে এবং আমি আমার অ্যাপ্লিকেশনটিতে মেমরির ব্যবহার উন্নত করতে কাজ করছি

এখন আমি একটি ভিন্ন পদ্ধতি ব্যবহার করে থ্রেডগুলি মেরে ফেলব এবং আমি "অনডাস্ট্রয় ()" থেকে এই পদ্ধতিটি সম্পাদন করব; এবং যখন আমার মনে হয় আমার সমস্ত থ্রেড মারতে হবে।

public void finishAction() {
  onDestroyThreads();
  finish();
}

0

আমি এই বিষয় ছিল এবং বুঝতে পেরেছি এটা করা হয়েছে কারণ আমি আহ্বান ছিল setContentView(int id)আমার দুবার ActivityএরonCreate


0

এই আমাকে জামারিনের জন্য পাগল করেছে।

আমি একটি টুকরা ছাড়া ট্যাবলআউটটির জন্য একটি ভিউপ্যাজার বাস্তবায়ন নিয়ে ছুটে এসেছি, এটি নিজেই ড্রয়ারলাউটে প্রয়োগ করা হয়েছে:

 - DrawerLayout
   - DrawerFragment
     - TabLayout
     - TabViewPager
       - TabViewPagerFragments

সুতরাং আপনাকে আপনার ড্রয়ারফ্র্যাগমেন্টে নিম্নলিখিত কোডটি প্রয়োগ করতে হবে । সঠিক ফ্র্যাগমেন্টম্যানেজার-পাথ বেছে নিতে সচেতন হন। কারণ আপনার দুটি পৃথক ফ্রেগমেন্ট ম্যানেজার রেফারেন্স থাকতে পারে:

  1. Android.Support.V4.App.FragmentManager
  2. Android.App.FragmentManager

-> আপনি যেটি ব্যবহার করেন তা চয়ন করুন। আপনি ChildFragmentManager ব্যবহার করতে চান, আপনি বর্গ ঘোষণা ব্যবহার ছিল Android.App.FragmentManager আপনার ViewPager জন্য!

Android.Support.V4.App.FragmentManager

আপনার "মেইন" খণ্ডে নিম্নলিখিত পদ্ধতিটি প্রয়োগ করুন - উদাহরণটিতে: ড্রয়ারফ্র্যাগমেন্ট

public override void OnDetach() {
    base.OnDetach();
    try {
        Fragment x = this;
        var classRefProp = typeof(Fragment).GetProperty("class_ref", BindingFlags.NonPublic | BindingFlags.Static);
        IntPtr classRef = (IntPtr)classRefProp.GetValue(x);
        var field = JNIEnv.GetFieldID(classRef, "mChildFragmentManager", "Landroid/support/v4/app/FragmentManagerImpl;");
        JNIEnv.SetField(base.Handle, field, IntPtr.Zero);
    }
    catch (Exception e) {
        Log.Debug("Error", e+"");
    }
}

Android.App.FragmentManager

public class TabViewPager: Android.Support.V13.App.FragmentPagerAdapter {}

তার মানে আপনাকে অ্যান্ড্রয়েড.অ্যাপ.ফ্রেগমেন্টম্যানেজারের সাথে ভিউপেজার শুরু করতে হয়েছিল।

আপনার "মেইন" খণ্ডে নিম্নলিখিত পদ্ধতিটি প্রয়োগ করুন - উদাহরণটিতে: ড্রয়ারফ্র্যাগমেন্ট

public override void OnDetach() {
    base.OnDetach();
    try {
        Fragment x = this;
        var classRefProp = typeof(Fragment).GetProperty("class_ref", BindingFlags.NonPublic | BindingFlags.Static);
        IntPtr classRef = (IntPtr)classRefProp.GetValue(x);
        var field = JNIEnv.GetFieldID(classRef, "mChildFragmentManager", "Landroid/app/FragmentManagerImpl;");
        JNIEnv.SetField(base.Handle, field, IntPtr.Zero);
    }
    catch (Exception e) {
        Log.Debug("Error", e+"");
    }
}

0

বাগটি সর্বশেষতম androidx সংস্করণে স্থির করা হয়েছে। এবং বিখ্যাত workaround এখন ক্রাশ হতে হবে। সুতরাং আমাদের এখন দরকার নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.