我有一個片段(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 回答

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
commit
onAttach(Activity activity)
Fragment
asd()
asd()
onAttach
Fragment
getActivity()
onDetach()

UYOU
TA貢獻1878條經驗 獲得超4個贊
@Overridepublic void onAttach(Context context) { super.onAttach(activity); mContext = context;}@Overridepublic void onDetach() { super.onDetach(); mContext = null;}

浮云間
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 關注
- 573 瀏覽
添加回答
舉報
0/150
提交
取消