我有一个片段(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)
Fragmentasd()asd()onAttachFragmentgetActivity()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()ToastonResponse
mActivitygetActivity()
@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 关注
- 613 浏览
添加回答
举报
0/150
提交
取消
