2017-08-25 56 views
2
微调

我正在开发Android应用程序,有我需要Spinner1和Spinner2使用4 SpinnersActivitySearch(我的活动的名称)。数据将从Firebase Realtime DatabaseonCreate装Spinner3是静态的(数据在应用程序本身提供),但Spinner4将根据Spinner1中选择的项目从Firebase Realtime Database加载。滞后是由于在Android的

的问题是,当我要ActivitySearch从任何其他活动正在采取2-3秒,以ActivitySearch出现。

这是正常的吗?或者还有其他一些好的做法?

我该怎么办?

+0

有一次,我在这里得到了禁赛downvotes这就是为什么我避免这种情况,但我真的需要一个答案:( –

+0

是ofcourse..my乐趣.. –

+0

OK,我会在今天晚些时候向您发送电子邮件。随意删除你的评论,如果你不想让地址挂在附近。 – GhostCat

回答

0

不,这是不正常的,需要执行很快。我认为你写了所有的代码来加载oncreate()所以,请尝试加载数据从Firebase使用AsyncTask()与preloader这将帮助你更多。如果你有任何疑问,你可以问我。

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(); 
    } 

你可以这样写,它会帮助你。