在一個 Activity 中包含多個 Fragment,實現:按鈕點擊從 Fragment1 跳轉到 Fragment2,按返回鍵可回到 Fragment1(Share 界面)。
在 MainActivity 中定義公共跳轉方法,Fragment 通過 getActivity() 調用:
public class MainActivity extends Activity {
private Fragment fragment1, fragment2;
private FragmentManager fragmentManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 初始化 fragment1、fragment2 和 fragmentManager
}
// 公開跳轉方法
public void gotoFragment2() {
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.hide(fragment1);
transaction.show(fragment2);
transaction.addToBackStack(null); // 關鍵:加入返回棧
transaction.commit();
}
}
button.setOnClickListener(v -> {
((MainActivity) getActivity()).gotoFragment2();
});
(MainActivity)getActivity() 獲取宿主 Activity 調用公共方法現代 Android 開發建議使用 Navigation Component 或 FragmentManager 的新 API,配合 ViewBinding 實現類型安全的導航。