魅力程序猿

  • 首页
  • Java
  • Android
  • APP
    • 扑克计分器
    • Video Wallpaper
  • 联系我
  • 关于我
  • 资助
道子
向阳而生
  1. 首页
  2. Android
  3. 正文

PreferenceFragment public void onAttach(Context pContext) not work

2016年3月17日 4600点热度 0人点赞 0条评论
public class FragmentSetting extends PreferenceFragment {}
@Override
public void onAttach(Context pContext) {
 //not working
 super.onAttach(pContext);
 if (pContext instanceof AppCompatActivity){
 mActivity = (AppCompatActivity)pContext;
 }
}

@Override
public void onAttach(Activity pActivity) {
 //is working
 super.onAttach(pActivity);
 mActivity = pActivity;
}

最近发现PreferenceFragment中public void onAttach(Context pContext) {}并不执行,是Android的一个BUG。
但是public void onAttach(Activity pActivity) {}又不建议使用了。
/**
 * Called when a fragment is first attached to its context.
 * {@link #onCreate(Bundle)} will be called after this.
 */
public void onAttach(Context context) {
    mCalled = true;
    final Activity hostActivity = mHost == null ? null : mHost.getActivity();
    if (hostActivity != null) {
        mCalled = false;
        onAttach(hostActivity);
    }
}

/**
 * @deprecated Use {@link #onAttach(Context)} instead.
 */
@Deprecated
public void onAttach(Activity activity) {
    mCalled = true;
}

希望google的工程师们进行修复,目前还是使用public void onAttach(Activity pActivity) {}
来解决现有的问题,也可以两种方法都使用。
标签: PreferenceFragment onAttach(Context pContext) not work
最后更新:2016年3月17日

daozi

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
搜索
联系方式

QQ群:179730949
QQ群:114559024
欢迎您加入Android大家庭
本人QQ:136049925

赐我一丝安慰
给我一点鼓励

COPYRIGHT © 2023 魅力程序猿. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备15000477号