的適當更換我稱A.活性具有1幀佈局,其中使用片段一種活性。我有兩個片段,Fragment1和Fragment2。活動啓動時,片段1填充框架佈局。片段
片段1還包含一個按鈕,點擊時有Fragment2替代它的是相同的框架佈局中。我的問題是,當我點擊Fragment1中的按鈕時,我應該實現該代碼,以便
A)活動A通過使用某種類型的布爾值通過接口通知片段中的onClick,然後繼續替換它與Fragment2。
OR
b)實施中的片段1本身Fragment2替代片段1例如代碼:
private FragmentTransaction ft;
private Button registerButton, resetButton;
private Fragment fragment;
public LoginFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_login, container, false);
registerButton = (Button)view.findViewById(R.id.register_button);
resetButton = (Button) view.findViewById(R.id.reset_button);
registerButton.setOnClickListener(this);
resetButton.setOnClickListener(this);
return view;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.register_button: {
fragment = new RegisterFragment();
ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.addToBackStack(null);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
break;
}
}
}
有人能解釋爲什麼一個比其他?非常感謝!
'我有一個活動叫A.該活動具有1個使用碎片的框架佈局。我有兩個片段,Fragment1和Fragment2。活動啓動時,片段1填充框架佈局。 Fragment1還包含一個按鈕,單擊該按鈕時將其替換爲同一幀佈局中的Fragment2。我的問題是,當我點擊Fragment1中的按鈕時,我應該執行該代碼,以便''你能否把這個代碼添加到你的問題 – petey
我會選擇A,因爲片段本身不應該知道它的狀態,即控制活動的片段管理器 –
好的,謝謝,我添加了選項B的代碼示例 –