У меня возникла проблема в одном из моих фрагментов, который содержит TabLayout. TabLayout и данные внутри каждой вкладки отлично работают, но я все равно получаю ошибку moveToState
(эта ошибка не возникает при переключении между первым и последним, только с первого на средний и последний на средний). Мое приложение все еще отлично работает с ошибкой, но я бы скорее избавился от него, чтобы избежать возможных будущих осложнений.Android - Средняя вкладка Ошибка в TabLayout в фрагменте
LogCat
04-23 00:08:04.064 1598-1598/org.ramferno.scoutapplication.ramfernoscout W/FragmentManager: moveToState: Fragment state for TeamInfoTabOneFragment{1788a4f #9 id=0x7f0c00ca} not updated inline; expected state 3 found 2
04-23 00:12:56.007 1598-1598/org.ramferno.scoutapplication.ramfernoscout W/FragmentManager: moveToState: Fragment state for TeamInfoTabThreeFragment{29125dC#7 id=0x7f0c00ca} not updated inline; expected state 3 found 2
TeamInfoFragment.java (С tabLayout)
package org.ramferno.scoutapplication.ramfernoscout.fragments;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import org.ramferno.scoutapplication.ramfernoscout.adapters.InfoPagerAdapter;
import org.ramferno.scoutapplication.ramfernoscout.R;
/**
* A simple {@link Fragment} subclass.
*/
public class TeamInfoFragment extends Fragment {
TabLayout tabLayout;
ViewPager viewPager;
InfoPagerAdapter infoPagerAdapter;
public TeamInfoFragment() {
// Required empty public constructor
} //End of TeamInfoFragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_team_info, container, false);
//Initializes variables
tabLayout = (TabLayout) view.findViewById(R.id.infoTabLayout);
viewPager = (ViewPager) view.findViewById(R.id.infoPager);
//Adds tabs to viewPager
infoPagerAdapter = new InfoPagerAdapter(getFragmentManager());
infoPagerAdapter.addFragments(new TeamInfoTabOneFragment(), "Team Info");
infoPagerAdapter.addFragments(new TeamInfoTabTwoFragment(), "Achievements");
infoPagerAdapter.addFragments(new TeamInfoTabThreeFragment(), "Past Tournaments");
//Sets adapter for viewPager then sets the same view pager for tabLayout
viewPager.setAdapter(infoPagerAdapter);
tabLayout.setupWithViewPager(viewPager);
return view;
} //End of onCreateView
} //End of class
InfoPagerAdapter.java
package org.ramferno.scoutapplication.ramfernoscout.adapters;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import java.util.ArrayList;
public class InfoPagerAdapter extends FragmentStatePagerAdapter {
ArrayList<Fragment> fragments = new ArrayList<>();
ArrayList<String> tabTitles = new ArrayList<>();
public void addFragments(Fragment fragments, String titles) {
this.fragments.add(fragments);
this.tabTitles.add(titles);
} //End of addFragments
public InfoPagerAdapter(FragmentManager fm) {
super(fm);
} //End of InfoPagerAdapter
@Override
public Fragment getItem(int position) {
return fragments.get(position);
} //End of getItem
@Override
public int getCount() {
return fragments.size();
} //Edn of getCount
public CharSequence getPageTitle(int position) {
return tabTitles.get(position);
} //End of getPageTitle
} //End of class
Пожалуйста, сообщите мне, если требуется больше информации.
все еще ищет решение моей проблемы –
я также имею такую же проблему, Вы найдете любое решение, пожалуйста, поделитесь –