线程上的碎片事务



我正在尝试制作一个片段事务,该事务需要一些时间才能在线程上运行,这样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(,则将该块放入一个新的线程集。

试试这个

new Thread(new Runnable() {
@Override
public void run() {
getActivity().runOnUiThread(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();

最新更新