onBackPressed并调用刷新功能的Android

莱斯特:

我想刷新只有一个片段,在一个标签栏的活动时,我按后退按钮。我怎样才能做到这一点?我试了一下

显示java.lang.NullPointerException:尝试调用虚拟方法“android.support.v4.app.FragmentTransaction android.support.v4.app.FragmentManager.beginTransaction()”上的空对象引用

片段简介

public void refreshFragment(){
    FragmentTransaction ft = getFragmentManager().beginTransaction();
    ft.detach(this).attach(this).commit();
}

编辑个人资料活动

@Override
public void onBackPressed() {
    super.onBackPressed();
    FragmentProfile fragment = new FragmentProfile();
    fragment.refreshFragment();
}
范:

您可以使用SharedPreferences做到这一点。

步骤1:创建一个常量类。

public class Constants {
    public static final String REFRESH = "refresh_content";
}

步骤2:把布尔到constants.REFRESH上编辑个人资料的活动,

private SharedPreferences pref;

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
    pref = PreferenceManager.getDefaultSharedPreferences(getContext());

    return inflater.inflate(R.layout.fragment_rostering, container, false);
}

public void onBackPressed() {
    SharedPreferences.Editor editor = pref.edit();
    editor.putBoolean(Constants.REFRESH, true);
    editor.commit();
    super.onBackPressed();
}

第3步:在上的onResume片段档案调用刷新功能

private SharedPreferences pref;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    pref = PreferenceManager.getDefaultSharedPreferences(getContext());

    return inflater.inflate(R.layout.fragment_profile, container, false);
}

@Override
public void onResume() {
    super.onResume();
    if(pref.getBoolean(Constants.REFRESH, false)){
        SharedPreferences.Editor editor = pref.edit();
        editor.putBoolean(Constants.REFRESH, false);
        editor.commit();
        refreshFragment();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

禁用android的Chrome下拉至刷新功能

拉刷新不执行刷新功能?

android的新功能-了解Web服务调用中OutputStreamWriter的用法

如何在Android中使用翻新功能调用php?

Android:在何处以及如何自动刷新列表视图(我具有刷新功能)

使用翻新功能刷新OAuth令牌,而无需修改所有调用

Ionic2拉动刷新功能

openlayers仅刷新功能,撤消拖动

Android Studio中的Jetpack Compose查看器中是否有自动刷新功能?

如何在网络视图Android Studio中应用拉动刷新功能(例如Chrome)?

使用翻新功能的Kotlin API调用

具有背景刷新功能的APN。刷新调用了两次,何时发送了APN,何时点击了通知?

刷新功能无法按预期工作 Swift 3

按下鼠标时需要刷新功能

如何使我的令牌刷新功能更具可测试性?

我如何禁用react-admin的自动刷新功能

如何在VBA中制作刷新功能

Android 附加功能在 onBackPressed() 上丢失

Android:在聚焦EditText时不调用onBackPressed

神秘地更新对象,而没有调用更新功能

从组件调用更新功能而不使用任务

react-admin编辑组件不调用更新功能

Java Observer模式未调用更新功能

具有多线程持久化和刷新功能的Doctrine实体管理器

如何使用Swift在Apple Watch上添加下拉菜单以刷新功能

更新刷新功能中的可观察到的字符串

使用工作表名称作为变量,但具有刷新功能

在 Angular 6 中使用 clearInterval() 停止刷新功能不起作用?

如何在不使用刷新功能的情况下以动态方式设置网格列标题