cro*_*boy 3 android android-fragments
我正在写一个有父母Activity和几个孩子的应用程序Fragments.我试图让Fragment与父Activity进行通信.我知道有几种方法可以做到这一点,包括创建一个接口并在父Activity中实现它.但是,我对这种方法很感兴趣:
ParentActivity activity = (ParentActivity) getActivity();
activity.someMethod();
Run Code Online (Sandbox Code Playgroud)
这种方法占用的代码更少,而且复杂性更低.但是,在生产代码中这样做是否安全?或者界面更安全?
小智 10
你可以用这个 -
private ParentActivity callback;
@Override
public void onAttach(Activity activity)
{
//callback = (ParentActivity ) activity;
// make sure there is no cast exception
callback = (ParentActivty.class.isAssignableFrom(activity
.getClass())) ? (ParentActivity) activity : null;
super.onAttach(activity);
}
@Override
public void onDetach()
{
callback = null;
super.onDetach();
}
Run Code Online (Sandbox Code Playgroud)
现在当你做任何方法调用时,像这样调用它 -
if(callback!=null)
{
callback.someMethod();
}
Run Code Online (Sandbox Code Playgroud)
这种方法很安全.
| 归档时间: |
|
| 查看次数: |
2604 次 |
| 最近记录: |