我有一个片段(F1),它使用这样的公共方法public void asd() {
if (getActivity() == null) {
Log.d("yes","it is null");
}}是的,当我叫它(从活动中),它是空的.FragmentTransaction transaction1 = getSupportFragmentManager().beginTransaction();
F1 f1 = new F1();transaction1.replace(R.id.upperPart, f1);transaction1.commit();f1.asd();这一定是我做错了什么,但我不知道那是什么
3 回答
![?](http://img1.sycdn.imooc.com/545865890001495702200220-100-100.jpg)
慕桂英3389331
TA贡献2036条经验 获得超8个赞
commit
onAttach(Activity activity)
Fragment
asd()
asd()
onAttach
Fragment
getActivity()
onDetach()
![?](http://img1.sycdn.imooc.com/5458643d0001a93c02200220-100-100.jpg)
UYOU
TA贡献1878条经验 获得超4个赞
@Overridepublic void onAttach(Context context) { super.onAttach(activity); mContext = context;}@Overridepublic void onDetach() { super.onDetach(); mContext = null;}
![?](http://img1.sycdn.imooc.com/5333a01a0001ee5302000200-100-100.jpg)
浮云间
TA贡献1829条经验 获得超4个赞
getActivity()
getActivity()
Toast
onResponse
mActivity
getActivity()
@Overridepublic void onAttach(Context context) { super.onAttach(context); if (context instanceof Activity){ mActivity =(Activity) context; }}
public abstract class BaseFragment extends Fragment { protected FragmentActivity mActivity; @Overridepublic void onAttach(Context context) { super.onAttach(context); if (context instanceof Activity){ mActivity =(Activity) context; }}}
- 3 回答
- 0 关注
- 553 浏览
添加回答
举报
0/150
提交
取消