조각을 사용하여 Android 앱을 만들고 있지만 이전에는 조각을 경험하지 않았습니다. 이전 조각으로 돌아 가기
나는 내가 메인 뷰를로드 주 FragmentActivity이 있고 난 내 조각 클래스 전화 :public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_view);
FragmentTransaction FT = getFragmentManager().beginTransaction();
if (findViewById(R.id.fragmentAction) != null) {
FT.replace(R.id.fragmentAction, MainMenuFragment.newInstance(
getString(R.string.main_menu), getApplicationContext()));
}
FT.addToBackStack(null);
FT.commit();
}
@Override
public void onBackPressed() {
}
그리고 이것은 내가 다른 조각에 버튼 호출 밀어 내 fragmet의 classm입니다 :
public class MainMenuFragment extends Fragment {
private static String my_description = "";
private static Context my_context = null;
public static MainMenuFragment newInstance(String description,
Context context) {
my_description = description;
my_context = context;
MainMenuFragment f = new MainMenuFragment();
return f;
}
public MainMenuFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = null;
if (my_description.compareTo(getString(R.string.main_menu)) == 0) {
view = inflater.inflate(R.layout.main_menu, container, false);
}
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (my_description.compareTo(getString(R.string.main_menu)) == 0) {
Button new_user = (Button) getView().findViewById(
R.id.button_newUser);
new_user.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction FT = getFragmentManager()
.beginTransaction();
FT.replace(R.id.fragmentAction, LdapFragment.newInstance(
getString(R.string.new_user), my_context));
FT.commit();
}
});
}
}
}
을
내 질문은 : 키를 뒤로 밀면 이전에 조각으로 돌아가려면 어떻게해야합니까? 내 FragmentActivity에서 onBackPressed 함수를 추가하고 이벤트를 캡처하지만 무엇을해야합니까?
단지 super.onBackPressed()를 추가하십시오. onBackPressed() – Neji
이 [공식 가이드] (http://developer.android.com/training/implementing-navigation/temporal.html#back-fragments)를 확인하십시오. 프래그먼트를 변경하기 전에'onClick' 메소드에서'addToBackStack'을 Preform하십시오. 처음에 Activity를 추가 할 때가 아닙니다. –