Java 显示加载活动,直到主活动完全加载
下面是在onCreate方法完全执行后加载的主活动的代码。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)
提及 下面是我的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();
}