由于Android中的spinner,两个活动之间的转换滞后
我正在开发一个android应用程序,在那里我需要在活动搜索中使用四个由于Android中的spinner,两个活动之间的转换滞后,android,android-layout,android-spinner,Android,Android Layout,Android Spinner,我正在开发一个android应用程序,在那里我需要在活动搜索中使用四个微调器(我的活动名称)。Spinner1和Spinner2中的数据将从活动的Firebase实时数据库加载,Spinner3是静态的(数据在应用程序本身中提供)但是Spinner4将根据Spinner1中选择的项目从Firebase实时数据库加载 问题是,当我从任何其他活动进入活动搜索时,需要2-3秒才能显示活动搜索 这正常吗?或者还有其他一些好的做法 我该怎么办?不,这不正常,需要执行得非常快。我认为您在oncreate()
微调器(我的活动名称)。Spinner1和Spinner2中的数据将从活动的Firebase实时数据库加载,Spinner3是静态的(数据在应用程序本身中提供)但是Spinner4将根据Spinner1中选择的项目从Firebase实时数据库加载
问题是,当我从任何其他活动进入活动搜索时,需要2-3秒才能显示活动搜索
这正常吗?或者还有其他一些好的做法
我该怎么办?不,这不正常,需要执行得非常快。我认为您在oncreate()中编写了加载微调器的所有代码,因此,请尝试使用带预加载程序的AsyncTask()从firebase加载数据,这将对您有更大帮助。如果你有任何疑问,可以问我
private void LoadInBackground() {
new AsyncTask<Void, Void, String>() {
ProgressDialog pd;
@Override
protected void onPreExecute() {
super.onPreExecute();
pd = new ProgressDialog(MainActivity.this);
pd.setMessage("loading..");
pd.show();
}
@Override
protected String doInBackground(Void... params) {
String msg = "";
//Write your code to load data
return msg;
}
protected void onPostExecute(String msg) {
super.onPostExecute(msg);
if (pd != null) {
pd.dismiss();
}
Log.d(TAG, "DATA IS LOADED " + msg);
//set all the data here to spinners
}
}.execute();
}
private void LoadInBackground(){
新建异步任务(){
进展性帕金森病;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pd=新建进度对话框(MainActivity.this);
pd.setMessage(“加载…”);
pd.show();
}
@凌驾
受保护字符串doInBackground(无效…参数){
字符串msg=“”;
//编写代码以加载数据
返回味精;
}
受保护的void onPostExecute(字符串msg){
super.onPostExecute(msg);
如果(pd!=null){
pd.解散();
}
Log.d(标记“数据已加载”+msg);
//将此处的所有数据设置为微调器
}
}.execute();
}
你可以这样写,这会对你有帮助。一旦我因为投票不通过而被禁止在这里,这就是为什么我要避免这样做,但我真的需要一个答案:(是的,当然……我的荣幸……好的,我今天晚些时候会给你发邮件。如果你不想留下地址,请随时删除你的评论。