首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓:如何解决点击TabWidget后响应慢的问题

安卓:如何解决点击TabWidget后响应慢的问题
EN

Stack Overflow用户
提问于 2011-11-15 23:44:57
回答 3查看 933关注 0票数 2

我的应用程序顶部有四个选项卡

第四个选项卡的内容是它将从sql server获取数据,然后显示在listview中。

由于检索到的数据量相当大,因此需要2-3秒

问题是:

单击第四个选项卡后,它没有响应,然后在2-3秒后,它显示内容

因为我知道它正在从数据库加载数据,所以我不会继续单击

然而,当用户点击它而没有响应时,他可能会点击、点击、点击

如何向用户展示一些东西,让他们知道它正在加载数据?

EN

回答 3

Stack Overflow用户

发布于 2011-11-15 23:47:35

您应该使用CrusorLoader。这将显示一个加载圆,同时仍使UI处于活动状态。请注意,即使您使用的是android API的较低版本,您仍然可以通过Android Support Package访问CursorLoader类。有关loaders的更多信息,请查看

票数 2
EN

Stack Overflow用户

发布于 2011-11-15 23:53:37

new SomeTask(0).execute();//在第4个选项卡中写入此行onCreate()

代码语言:javascript
运行
复制
/** Inner class for implementing progress bar before fetching data **/
    private class SomeTask extends AsyncTask<Void, Void, Integer> 
    {
        private ProgressDialog Dialog = new ProgressDialog(yourActivityClass.this);
        @Override
        protected void onPreExecute()
        {

            Dialog.setMessage("loading...");
            Dialog.show();
        }

        @Override
        protected Integer doInBackground(Void... params) 
        {
            //Task for doing something 
 //   get data from sql server and then display in listview
            return 0;
        }

        @Override
        protected void onPostExecute(Integer result)
            {

            if(result==0)
            {
//do some thing if your list completed
            }

    // after completed finished the progressbar
            Dialog.dismiss();
        }

    }
票数 2
EN

Stack Overflow用户

发布于 2011-11-15 23:49:55

当一个长时间运行的进程启动时,您需要指出正在发生的事情,以便用户知道要等待。您想要一个进度对话框。

下面是一个示例:http://www.androidpeople.com/android-progress-dialog-example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8139023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档