我使用
在布局中调用Fragment
LinearLayout formLayout = (LinearLayout)findViewById(R.id.mainLayout);
formLayout.removeAllViews();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
PatientSearch fragment = new PatientSearch(maincontrolActivity.this);
fragmentTransaction.add(R.id.mainLayout,fragment, "MY_FRAG");
fragmentTransaction.commit();
在PatientSearch
内我点击加载另一个Fragment
,但在旧Fragment
的边界内时,我想要按钮。
知道怎么做吗?
答案 0 :(得分:2)
您不应在Fragment
内致电FragmentTransactions
(或执行Fragment
)。 Fragment
s永远不应该直接与其他Fragment
进行交互,因为这会违背其整体目的(它们的目的是为了重用,如文档中所述)。
您应该做的是在Activity
中创建一个事件回调。您的Fragment
应拨打Activity
,然后Activity
应将呼叫定向到另一个Fragment
。这可能听起来像额外的工作,但良好的设计可以走很长的路,让你的生活更轻松。