【问题标题】:how to make running activity disable while progress bar running in java android如何在java android中运行进度条时禁用正在运行的活动
【发布时间】:2012-04-25 12:50:56
【问题描述】:

我有一个活动或屏幕,主要包含 3 个视图(ex.textview1、textview2、textview3)和一个进度条。

如果我单击 textview1、textview2、textview3 中的任何一个,则在进度条运行或加载时, 相应的下一个活动或屏幕正在打开。

但我想,如果我点击任何这些视图,运行相关屏幕的进度条应该禁用(不可点击)或者不应该移动到下一个屏幕。

请举例回复

【问题讨论】:

    标签: java android


    【解决方案1】:

    只需创建一个布尔值,当您有正在进行的事情时,然后在您的 onClickListener 中检查它。

    boolean isRunning;
    
    @Override
    public void onClick(View v) {
    
        if(isRunning)
            return;
    
        //handle code normally
    
    
    }
    

    【讨论】:

    • 感谢您的回复。有没有办法在进度条加载时禁用整个活动或屏幕,直到进度条完成加载
    • 看看developer.android.com/guide/topics/ui/… 这可能就是你要找的。它会阻止用户在屏幕上执行任何其他操作。
    • 感谢您的回复。因为我是 android 新手,所以我也没有得到答案。请提供替代解决方案
    【解决方案2】:

    您可以使用AsyncTask 类来执行此操作

    仅供参考,AsyncTask 在 Android 中称为 Painless Threading

    onCreate() {
      ...
    
      MyTask task = new MyTask();
      task.execute();
    
    }
    
    class MyTask extends AsyncTask
    {
      onPreExecute() { 
         // disable your views here
      }
    
      doInBackground() {
         // do your loading here in background
      }
    
      onPostExecute() {
        // enable your views to start activities
      }
    }
    

    【讨论】:

    • 感谢您的回复。有没有办法在进度条加载时禁用整个活动或屏幕,直到进度条完成加载
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 2011-07-23
    • 2012-08-31
    • 2010-09-19
    相关资源
    最近更新 更多