【问题标题】:Auto refresh android fragment until condition is met自动刷新android片段,直到满足条件
【发布时间】:2021-09-25 12:00:03
【问题描述】:

我正在为 android 构建一个多片段应用程序。我现在在我的第三个片段中执行,我试图让它自动刷新,直到计时器达到 0,之后它应该打开下一个片段并转换。有人建议我使用以下方法自动刷新,但在满足条件后,应用程序关闭,Android 告诉我它停止工作。第 4 个片段根本不显示。

这是我在代码中刷新的方式,在我的第三个片段的 onCreateView() 中:

refresh = new Runnable() {
    @Override
    public void run() {
        if (isRunning) {
            // do some stuff here
            handler.postDelayed(refresh, 500);
        } else
            return;
    }
};
handler.post(refresh);

我正在刷新 run() 中调用 UI,因为我正在更新多个文本视图。我应该为此做一个单独的线程吗?

【问题讨论】:

    标签: java android multithreading android-fragments runnable


    【解决方案1】:

    要在android中刷新片段,请使用以下代码。
    片段刷新方法

    public void refreshFragment(){
        Fragment currentFragment = getActivity().getSupportFragmentManager().findFragmentById(R.id.container);
        FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
        fragmentTransaction.detach(currentFragment); 
        fragmentTransaction.attach(currentFragment);
        fragmentTransaction.commit();
    }
    

    您可以将它放在处理程序中,并在需要时调用该方法。
    注意:确保在内部调用方法

    runOnUiThread(new Runnable{//code here})

    【讨论】:

      猜你喜欢
      • 2011-07-10
      • 1970-01-01
      • 2014-05-03
      • 2019-11-10
      • 2014-10-18
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多