আমি ভাবছি যে এটি আসলে অ্যান্ড্রয়েড এপিআই-এ কোনও বাগ আছে:
আমার মত একটি সেটআপ আছে:
┌----┬---------┐
| | |
| 1 | 2 |
| |┌-------┐|
| || ||
| || 3 ||
└----┴┴-------┴┘
- একটি মেনু যা ডান ফলকে # 2 (একটি অনুসন্ধান স্ক্রিন) লোড করে।
- একটি অনুসন্ধান স্ক্রিন যা খণ্ড # 3 রয়েছে যা ফলাফলের তালিকা।
- ফলাফলের তালিকাটি বেশ কয়েকটি জায়গায় ব্যবহার করা হয় (এর নিজস্ব ডানদিকে একটি উচ্চ স্তরের খণ্ড হিসাবে)।
এই কার্যকারিতা একটি ফোনে পুরোপুরি ভাল কাজ করে (যেখানে 1 এবং 2 এবং 3 ActivityFragment
গুলি হয়)।
তবে, আমি যখন এই কোডটি ব্যবহার করেছি:
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment frag = new FragmentNumber2();
if(toLoad != null) frag.setArguments(toLoad);
transaction.replace(R.id.rightPane, frag);
transaction.commit();
কোথায় R.id.leftPane
এবং R.id.rightPane
হয় <fragment>
একটি অনুভূমিক রৈখিক লেআউট গুলি।
এটি আমার বোঝা যায় যে উপরের কোডটি সেই টুকরোগুলি সরিয়ে দেয় যা আবাসিক এবং তারপরে এটি একটি নতুন টুকরা দিয়ে প্রতিস্থাপন করে। উজ্জ্বল ... স্পষ্টতই তা ঘটে না কারণ এই কোডটি দ্বিতীয়বার যখন চালিত হয় আপনি নিম্নলিখিত ব্যতিক্রমটি পান:
07-27 15:22:55.940: ERROR/AndroidRuntime(8105): Caused by: java.lang.IllegalArgumentException: Binary XML file line #57: Duplicate id 0x7f080024, tag null, or parent id 0x0 with another fragment for FragmentNumber3
এই কারণটি হয়েছে কারণ ফ্র্যাগমেন্টমম্বার 3 এর ধারকটি নকল হয়ে গেছে এবং এর আর কোনও অনন্য আইডি নেই। নতুনটি যুক্ত হওয়ার আগে প্রাথমিক খণ্ডটি (?) নষ্ট করা হয়নি (মনে মনে এর অর্থ এটি প্রতিস্থাপন করা হয়নি )।
কেউ যদি এটি সম্ভব হয় তবে আমাকে বলতে পারবেন ( এই উত্তরটি এটি দেয় না) বা এটি কোনও বাগ?