Java 如何禁用控制,直到进度条处于活动状态

Java 如何禁用控制,直到进度条处于活动状态,java,android,view,progress-bar,visibility,Java,Android,View,Progress Bar,Visibility,我从xml中保持progressbar对的可见性。当在onPreExecute中时,其各自的活动具有异步任务,其可见性在onPostExecute中变成可见和不可见。所有工作正常,但我希望我的其他视图控件保持禁用状态,直到progressbar可见 Xml <ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wra

我从xml中保持progressbar对
的可见性。当在
onPreExecute
中时,其各自的活动具有异步任务,其可见性在
onPostExecute
中变成
可见和
不可见。所有工作正常,但我希望我的其他视图控件保持禁用状态,直到progressbar可见

Xml

 <ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    style="?android:attr/progressBarStyleInverse"
    android:visibility="invisible" />


提前感谢

您有一个异步任务,它应该有以下方法:-

  @Override
    protected void onPostExecute(String result) {

       // Disable the progress bar
      progress.setVisibility(false);

      // Enable all the views that you have disabled earlier in onPreExecute
      view1.setEnable(true);
    }

    @Override
    protected void onPreExecute() {

        // start progress bar here
        progress.setVisibility(true);

       // Disable all your views here

       view1.setEnable(false);
    }

    @Override
    protected void onProgressUpdate(Void... values) {

    }

此处进度是ProgressBar的一个对象,view1将是您的视图组。它可以是Imageview、Textview或其他任何视图。

对于所有要禁用的视图,请尝试这一行。view.setEnable(false);你不使用ProgressDialog吗???@name无法显示,因为不想显示dialog@VarunVishnoi,你能看到我上面的评论吗,只需尝试一次…使用半透明的主题到对话框中!这很好…当xml只有一个视图而不是ProgressBar时…如果xml包含2个或3个以上的视图,那么??只需将父布局设置为禁用即可。禁用父布局并不意味着子视图不起作用如果将相对布局设置为父布局,则使用其id并将setEnable方法设置为false,它应该反映所有子视图。请尝试一下。。。子视图已启用。。它们不依赖于父视图。我们必须显式地设置enable所有子视图,这是一个很好的方法