【问题标题】:Using timer with ProgressDialog使用带有 ProgressDialog 的计时器
【发布时间】:2012-03-28 15:52:33
【问题描述】:

我有一个方法是从服务器列出我的项目。因此,此方法需要时间才能获得所有项目。所以我想用 ProgressDialog 来等待这个方法。我阅读了一些模块,但找不到任何有用的解决方案。

    public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            // setContentView(R.layout.main;
                    loginScreen();
        }
    public boolean getItems() throws MessagingException 
           {
                    items receiving here
           }
    public void loginScreen() 
           {
                   setContentView(R.layout.main);
                   Button loginBtn = (Button) findViewById(R.id.btnLogin);

                   loginBtn.setOnClickListener(new Button.OnClickListener() 
                     {          
                      public void onClick(View arg0) 
                       {
                          getItems();
                       }
                     }
           }

打开按钮单击我调用接收所有项目的方法。当我单击按钮时,我想显示一个进度条,直到所有项目都获得为止。

【问题讨论】:

    标签: android timer progressdialog countdowntimer postdelayed


    【解决方案1】:

    创建一个AsyncTask,它在getItems() 上显示一个ProgressBar。您需要一个AsyncTask,因为主线程将忙于从服务器获取内容,而ProgressBar 在完成之前不会出现。

    【讨论】:

    • 非常感谢!它几乎像我想要的那样工作。当方法正在为结果做准备时会显示 Progressdialog,但速度太快了。因此,进度对话框显示的时间很短。我可以添加一些东西(比如计时器)来延迟进度对话框的显示 2 秒吗?
    • 你要做的就是Thread.sleep(2000);,这会导致它延迟2秒或2000毫秒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多