gpt4 book ai didi

java - 在 Android 中完成 startactivity Intent 之前, fragment 加载动画不会开始

转载 作者:行者123 更新时间:2023-12-05 00:18:48 32 4
gpt4 key购买 nike

有两个 Activity ,主要和reding。当我在主要 Activity 中单击打开的书时,屏幕上应该会出现一个加载 fragment ,直到阅读 Activity 完全加载。
在activity main中,activity读取打开点击事件:

@Override
public void onClick(View v) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
// fragment fade in enough
.setCustomAnimations(R.anim.fade_in, 0, 0, 0)
// main_root in activity main.
.add(R.id.main_root, new BookLoadingFragment(), "BookLoaderFragment")
.addToBackStack("BookLoaderFragmentStackTag")
.commit();
fragmentManager.executePendingTransactions();

Intent intent = new Intent(context, ReadBookActivity.class);
context.startActivity(intent);
}
所以通过上面的代码,在阅读 Activity 完全打开之前,加载 fragment 不会出现(它没有 setCustomAnimations() 出现)。我尝试为 fragment 创建新线程或异步任务,但在创建 ui 线程之外不允许的 fragment 时出错。我还必须在主要 Activity 中创建 fragment ,因为阅读 Activity 有许多其他 fragment 与 onActivityCreated() 相关联。

最佳答案

您的 BookLoadingFragment 卡住,因为主 ui 线程不再处于 Activity 状态,您无法再对其进行处理。您应该在加载的 Activity 中添加加载 fragment 并显示加载 fragment ,直到使用 AsyncTask 加载第二个 Activity 。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_read_book);

AddLoadingFragment();
new AsyncLoading().execute();
}

class AsyncLoading extends AsyncTask<String,Integer,String> {

public AsyncAppOpen() {
super();
}
@Override
protected String doInBackground(String... strings) {
// Preapare background process only! Get data from Database or build Rcyvlerview adapter.
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
// doInBackground finished and it's time to preapare ui thread process. Build RecyclerView or some ui tools.
}
}

关于java - 在 Android 中完成 startactivity Intent 之前, fragment 加载动画不会开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66114191/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com