여러 액티비티가있는 앱이 있는데, 각각 여러 개의 프래그먼트를 사용할 수 있습니다.프래그먼트에서 뒤로 버튼을 누를 때 활동을 남겨주세요.
하나의 활동 (IBAsTabsActivity라고 함)은 SherlockFragmentActivity를 확장하며 어떤 탭을 선택했는지에 따라 다른 조각이로드되는 예제 코드를 사용하고 있습니다. 가능한 단편 중 하나는 "SearchableListFragment"입니다. 이것은 모두 정상적으로 작동합니다. 나는 IBAsTabsActivity에 나를 데려가는 하나와 AnAlternativeActivity에 나를 데려가는 또 다른 버튼이있는 "집"활동을 가지고 있습니다. 버튼을 눌러 IBAsTabsActivity로 이동하고 여러 탭을 봅니다. 그런 다음 뒤로 버튼을 누르면 "집"으로 바로 이동합니다.
이제 AnAlternativeActivity를 설치하여 실행하고 싶습니다. 탭이 없으므로 Sherlock 코드를 사용하지 않습니다. 대신에 나는이 있습니다
public class AnAlternativeActivity extends FragmentActivity implements OnClickListener
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.blank_fragment_holder);
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
SearchableListFragment fb = new SearchableListFragment();
ft.replace(R.id.fragment_holding_layout, fb);
ft.addToBackStack("replacingFragmentA");
ft.commit();
}
이를 내가 AnAlternativeActivity 전화를 홈 화면에있는 버튼을 클릭하면 모든만큼의 잘 작동, 나는 제대로 SearchableListFragment() (fragment_holding_layout 내부에)보고 내용. 그러나 이제는 뒤로 버튼을 클릭하면 fragment_holding_layout 내의 조각이 사라지지만 AnAlternativeActivity는 계속 실행됩니다. AnAlternativeActivity를 종료하고 집으로 돌아가려면 뒤로 버튼을 다시 눌러야합니다.
이 문제를 해결하기 위해 추한 코드를 만들 수는 있지만이 시나리오에 대처할 수있는 표준 방법이 있다고 생각됩니다. 어떤 아이디어?
fragment.getActivity 당신이 원하는 것을 해보고, 스스로 onBackPressed를 호출하십시오. –
@Marko Lazić : 그것에 확장 할 수 있습니까? – Mick
cod3-monk-3y에 유효한 포인트가 있습니다. –