Java 显示加载活动,直到主活动完全加载

Java 显示加载活动,直到主活动完全加载,java,android,android-activity,loading,progressdialog,Java,Android,Android Activity,Loading,Progressdialog,下面是在onCreate方法完全执行后加载的主活动的代码。 提及 下面是我的loadingIt活动的代码 public class LoadingIt extends AppCompatActivity { Context context; public static LoadingIt fa; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)

下面是在onCreate方法完全执行后加载的主活动的代码。
提及

下面是我的loadingIt活动的代码

public class LoadingIt extends AppCompatActivity {
Context context;
public static LoadingIt fa;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_loading_it);
    context=this;
    fa = this;
    ProgressDialog dialog=new ProgressDialog(context);
    dialog.setMessage("Loading Please wait!!");
    dialog.setCancelable(false);
    dialog.setInverseBackgroundForced(false);
    dialog.show();
}
}
问题是加载IT活动从未完成,应用程序被卡在加载屏幕上。我想完成此活动,因为前面的acivity onCreate方法已完全执行

谢谢

我觉得您的解决方案并不是真正的最佳实践。下面是我要做的:

  • 将加载它的
    活动声明为启动活动

  • onCreate
    方法中,加载后台所需的资源(例如使用
    AsyncTask
    IntentService

  • 加载完成后,完成
    LoadingIt
    活动并显示
    DictionarySscWords
    活动


  • 如果您发布加载逻辑,我可以提供一个示例实现。

    您可以在LoadingIt类的onCreate()中使用线程

    public class LoadingIt extends AppCompatActivity {
    
       protected void onCreate(Bundle savedInstanceState) {
    
          super.onCreate(savedInstanceState);
          getSupportActionBar().hide();
          setContentView(R.layout.activity_loading_it);
    
          Thread loadingThread = new Thread() {
    
            @Override
            public void run() {
                try {
                    super.run();
                    sleep(2000);
                } catch (Exception e) {
    
                } finally {
    
                    Intent main = new Intent(LoadingIt.this,MainActivity.class);
                    startActivity(main);
                    finish();
                }
            }
        };
        loadingThread.start();
    }
    

    您是否覆盖了加载它的
    活动中的
    onFinish()
    ?同样,您持有对活动的静态引用。除非您在某个地方手动清除->您正在创建内存泄漏,否则这将永远不会消失从您添加的链接。您能告诉我们您在DictionaryScWords活动中执行的任务吗。@AkshayKatariya使用创建列表视图adpater@hsm59还没有重写onFinish()DictionarySscWords不是启动程序类你所说的“启动程序类”是什么意思,
    DictionarySscWords
    是一个活动,对吗?因此,您可以在加载完成后启动它,并传递加载的数据。
    public class LoadingIt extends AppCompatActivity {
    
       protected void onCreate(Bundle savedInstanceState) {
    
          super.onCreate(savedInstanceState);
          getSupportActionBar().hide();
          setContentView(R.layout.activity_loading_it);
    
          Thread loadingThread = new Thread() {
    
            @Override
            public void run() {
                try {
                    super.run();
                    sleep(2000);
                } catch (Exception e) {
    
                } finally {
    
                    Intent main = new Intent(LoadingIt.this,MainActivity.class);
                    startActivity(main);
                    finish();
                }
            }
        };
        loadingThread.start();
    }