Я реализовал Pager Sliding Strip и работает отлично.PagerSlidingStrip также загружает другой фрагмент.
У меня есть 5 вкладок, каждый из которых содержит разные фрагменты. Когда я нажимаю на вторую вкладку для загрузки соответствующего фрагмента, он также загружает детали 3-го фрагмента, показывая тост, который я закодировал в фрагменте третьей вкладки.
Это полностью разрушило производительность приложений. Почему я решаю эту проблему, я не знаю, что происходит на самом деле.
Я работаю над действительно большим проектом, я не могу опубликовать весь код.
Пожалуйста, помогите мне с этим, я отправлю соответствующий код по запросу.
С уважением.
EDIT
Уведомление Фрагмент, который загружается другой фрагмент
ListView notification_listview;
ArrayList<FragmentNotificationDTO> arraylist;
NotificationAdapter adapter;
private static View notificationView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (notificationView != null) {
ViewGroup parent = (ViewGroup) notificationView.getParent();
if (parent != null)
parent.removeView(notificationView);
}
notificationView = inflater.inflate(R.layout.fragment_notification,
container, false);
initLayout(notificationView);
loadData();
return notificationView;
}
private void initLayout(View view) {
notification_listview = (ListView) view.findViewById(R.id.notification_listview);
arraylist = new ArrayList<FragmentNotificationDTO>();
adapter = new NotificationAdapter(mContext, arraylist);
notification_listview.setAdapter(adapter);
}
Это Food Фрагмент, который загружается также, когда мы нажмем на вкладке Notification
private static View foodlistView;
RelativeLayout rl_foodshare, rl_foodrequested, rl_foodkitchen;
TextView tv_foodshare, tv_foodrequested, tv_foodkitchen;
ImageView img_foodshare, img_foodrequested, img_foodkitchen;
Fragment fr;
FragmentManager fm;
FragmentTransaction fragmentTransaction;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (foodlistView != null) {
ViewGroup parent = (ViewGroup) foodlistView.getParent();
if (parent != null)
parent.removeView(foodlistView);
}
foodlistView = inflater.inflate(R.layout.fragment_location_list,
container, false);
initLayout(foodlistView);
ChangeFragment(1);
return foodlistView;
}
MainActivity.java, который содержит PagerSlidingStrip & View Pager
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()));
PagerSlidingTabStrip PGSTRIP = (PagerSlidingTabStrip) findViewById(R.id.tabs);
PGSTRIP.setViewPager(viewPager);
viewPager.setOffscreenPageLimit(0);
}
Проверьте, есть ли у вас какой-либо экземпляр любого вида с таким же именем в более чем одном фрагменте. Вчера у меня была аналогичная проблема, это была проблема. –
@ParsaniaHardik Let Me Check –
@ParsaniaHardik проверяет все его фрагменты полностью. в случае, если я пропустил что-то, я разместил код выше, пожалуйста, проверьте и объясните, есть ли у меня какие-либо вопросы. –