2013-02-19 4 views
1

FragmentActivity까지 확장하여 안드로이드 응용 프로그램을 개발했습니다. 모든 것은 그것이 한 것처럼 정확하게 작동합니다. NAVIGATION_MODESTABS으로 입력했습니다. 나는 LISTVIEW 안에 TAB AFRAGMENT A을 가지고 있습니다. 사용자가 LISTVIEW ITEM을 클릭하면 새로운 Fragment/ACTIVITY이 실행되어 ACTION BAR과 같은 TABS을 표시합니다. 이것을 어떻게 할 수 있습니까?android - 모든 조각에 대해 동일한 작업 표시 줄 유지

어떤 방법을 제안 해주세요.

감사

답변

1

ListView에와 현재의 조각 A의 용기를 가져 오기 때문에 목록보기 어댑터의 OnClick 방법에

내부의 조각을 대체 : FragmentA.this.getParent().getID() 이후

FragmentManager fm = getFragmentManager(); 
FragmentTransaction ft = fm.beginTransaction(); 
ft.replace(FragmentA.this.getParent().getID(), mNewFragment); 
ft.addToBackStack(null); 
ft.commit(); 

매우입니다 clunky, FragmentA가있는 컨테이너의 ID를 검색하여 대신 사용하십시오. R.id.FragmentAContainerID

+0

감사합니다. Yalla, 내가 한 말 한 후에 작동합니다. 이제 한 가지 더 많은 문제가 있습니다. mNewFragment가 시작된 후, 뒤로 버튼을 클릭하면 이전의 조각 동작이 표시되지 않고 응용 프로그램이 처음 열었던 화면으로 이동합니다. 나는 이전의''FragmentActivity''를 보여주기 위해 무엇을해야합니까? 아래는 제 코드입니다. ''ft.setTransition (FragmentTransaction.TRANSIT_FRAGMENT_FADE);'' ''ft.replace (R.); "mNewFragmentip = new mNewFragment(); ft.addToBackStack ("tag");' ''ft.addToBackStack ("tag");' ''ft.commit();' –

+0

당신이 호출해야하는 프래그먼트 전이를 되돌리려면 'ft.addToBackStack (null)'태그를 null로 설정하여 기본 백 스택에 추가합니다. 액티비티간에 전환하기를 원할 경우이 전환을 무시하려면 뒤로 버튼을 누르기 만하면됩니다. ft.addToBackStack을 호출하지 마십시오. –