android - 线程上的分片事务
问题描述
我正在尝试进行需要一些时间在线程上运行的片段事务,以便 UI 不会停止并且我可以显示类似进度条的内容。我已经试过了
new Thread(new Runnable() {
@Override
public void run() {
MyFragment fragment = new MyFragment(); //This fragment requires some time to show
String fragmentTag = "fragmentTag";
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.frameLayout, fragment, fragmentTag);
fragmentTransaction.commit();
}
}).start();
我怎样才能做到这一点?谢谢
解决方案
最好在片段方法本身中使用这个新线程并让事务发生在主线程上。
如果您在片段中执行一些计算(非 UI),则将该块放入一个新线程中。
推荐阅读
- android - Jetpack Compose,TextField中的自定义光标位置
- node.js - 如何避免对包含 URL 的字段进行 CSV 注入?
- python - 使用 python 对日期时间进行 HTML 编码
- swift - 全屏模式下另一个应用程序前面的“NSApp.activate”
- tensorflow - 在训练期间无法更改 tensorflow 优化器中的 learning_rate
- amazon-web-services - 将 ElasticSearch 添加为 AWS Data Migration Service 的目标时连接失败
- javascript - Mongoose中的日期范围查询将循环结构转换为JSON
- r - 如何更改ggplot2中的轴线大小?
- java - Java中的中位数和平方根
- python - 如何使用循环将列表附加到字典