가능한 한 제목을 입력하려고했으나 기본적으로 HomeActivity 내부에 조각 용 무리가있는 사용자 지정 메뉴가 있습니다. 그들 중 하나는 HomeFragment
이고 Tablelayout
은 2 탭이고 viewpager
..입니다!툴바에서 뒤로 밀면 ViewPager가 작동하지 않습니다.
모든 것이 올바르게 작동합니다. 그러나 메뉴 조각 내에서 사용자가 도구 모음에서 뒤로 버튼을 클릭하면 HomeFragment
으로 돌아갑니다. 프래그먼트 대체 방법은 이미 메뉴에서 선택할 때 프래그먼트간에 바꾸기 위해 사용했던 트릭을 수행합니다!
그러나이 경우 HomeFragment
이 열리고 아직 Tablayout
은 반응이 없습니다. 조각이 제대로 만들어지지 않은 것 같은 느낌!?
기본적으로 HomeFragment
을 여는 동일한 활동의 새로운 의도를 사용했지만 동일한 문제가 발생합니다. ..!
문제점
규범
HomeFragment
// code..
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
InitViews(rootView);
TabLayoutAdapter adapter = new TabLayoutAdapter(getFragmentManager());
pager.setAdapter(adapter);
tabLayout.setupWithViewPager(pager);
return rootView;
}
// code..
메뉴 대신 getFragmentManager의 조각
// code..
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.to_home:
replaceFragment(new HomeFragment());
// tried this and it's the same problem
// startActivity(new Intent(getActivity(), HomeActivity.class).setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY));
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void replaceFragment(Fragment fragment) {
android.support.v4.app.FragmentTransaction t = getFragmentManager().beginTransaction();
t.replace(R.id.Container, fragment);
t.commit();
}
// code..
에서 또한
를 교체'java.lang.IllegalArgumentException가 : ID에 대해보기 조각을위한 0x7f0d008a (XXX.XXXX : id/Container) 게임 조각 {2b77c84 # 2 id = 0x7f0d008a} ' –
해당 GamesFragment는 어디에 있습니까? – Anonymous
메뉴 조각입니다 ..! 그것의 코드는 질문에 게시됩니다! 왜이 오류가 나타 났을까요?!? –