이름이 ShoppingListActivity
인 액티비티가 있습니다. 여기에 3 개의 단편이 추가되었습니다. 이 예제에서는 단 하나의 조각 만 사용합니다.TAG에서 Android의 단편을 설정하려고 할 때 오류가 발생했습니다.
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
과 같이 보이는 setupViewPager(viewPager);
방법 :
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
Fragment shoppingListFragment = new ShoppingListFragment();
getSupportFragmentManager().beginTransaction().add(shoppingListFragment, "ShoppingListFragmentTag").commit();
adapter.addFragment(shoppingListFragment, "SHOPPING LIST");
viewPager.setAdapter(adapter);
}
내 ViewPagerAdapter
수업이 lookslike : onCreate
방법 나는이처럼 보이는 ViewPager
선언 한
private class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> fragmentList = new ArrayList<>();
private final List<String> fragmentTitleList = new ArrayList<>();
ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
void addFragment(Fragment fragment, String title) {
fragmentList.add(fragment);
fragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return fragmentTitleList.get(position);
}
}
내 문제는 내가 ShoppingListActivity
에서 다른 활동으로 돌아와서 돌아 오는 것보다 내 조각이 새로 고침되지 않는 경우입니다. 에드. 이것은 내가 조각을 찾기 위해 노력하는 onResume
방법에서 내 코드를 분리하고이 같은 조각을 연결하는 것입니다 java.lang.IllegalStateException: Can't change tag of fragment ShoppingListFragment{528673f4 #0 ShoppingListFragmentTag}: was ShoppingListFragmentTag now android:switcher:2131558559:0
내가를 설정하는 방법 :
FragmentManager fragmentManager = getSupportFragmentManager();
ShoppingListFragment shoppingListFragment = (ShoppingListFragment) fragmentManager.findFragmentByTag("ShoppingListFragmentTag");
fragmentManager.beginTransaction().detach(shoppingListFragment).attach(shoppingListFragment).commit();
문제는 내가이 오류가 있다는 것입니다 조각에 올바르게 태그 하시겠습니까?
미리 감사드립니다.
감사를 FragmentPagerAdapter 교체! 올바른 대답. –