Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中使屏幕变暗并启动progressBar?_Java_Android_Eclipse_Android Progressbar - Fatal编程技术网

Java 如何在android中使屏幕变暗并启动progressBar?

Java 如何在android中使屏幕变暗并启动progressBar?,java,android,eclipse,android-progressbar,Java,Android,Eclipse,Android Progressbar,我正在编写一个android应用程序,我想要在执行httpclient.execute()时,屏幕变暗,出现一个进度条,直到执行这一行,我该怎么办?我的代码如下: ProgressBar x = (ProgressBar) findViewById("R.id.progress") ; x.setVisibility(ProgressBar.VISIBLE) ; httpclient.execute() x.setVisibility(ProgressBar.GONE) ; 但使用此代码时,只

我正在编写一个android应用程序,我想要在执行
httpclient.execute()
时,屏幕变暗,出现一个进度条,直到执行这一行,我该怎么办?我的代码如下:

ProgressBar x = (ProgressBar) findViewById("R.id.progress") ;
x.setVisibility(ProgressBar.VISIBLE) ;
httpclient.execute()
x.setVisibility(ProgressBar.GONE) ;

但使用此代码时,只会显示进度条,屏幕不会变暗。

如果您的HTTPClient处于异步任务中,请将进度条可见性置于“onPostExecute”中

要使屏幕变暗,您需要显示一个警报对话框/对话框片段,并使用进度条设置自定义布局,然后在加载完成时将其关闭


这将自动使屏幕变暗。

如果您的HTTPClient处于异步任务中,请将进度条可见性置于“onPostExecute”中

要使屏幕变暗,您需要显示一个警报对话框/对话框片段,并使用进度条设置自定义布局,然后在加载完成时将其关闭

这将自动使屏幕变暗。

在asynctas中添加httpclient.execute()部分

在preexecute方法中添加pretask,在postexecute方法中添加post task。

在asynctas中添加httpclient.execute()部分


在preexecute方法中添加pretask,在postexecute方法中添加post task。

首先,我建议您在异步类中完成所有的联网。 您可以使用以下模板将代码放入异步类中。 将ProgressDialog作为类变量

YouClass
{
ProgressDialog dialog;

 onCreate(....)
{
  //Execute the async task here.
  new myNetworkingTask().execute("");
}

private class myNetworkingTask extends AsyncTask<String, Void, String> {

  @Override
  protected String doInBackground(String... params) 
        {
            //In this method you will do the networking task
            httpclient.execute();
        }
        return "";
  }      

  @Override
  protected void onPostExecute(String result) { 
          //In this method you will hide the progress bar
         dialog.dismiss();
  }

  @Override
  protected void onPreExecute() {
         //In this method you will display the progress bar.
        dialog = ProgressDialog.show(MyActivity.this, "", 
                    "Loading. Please wait...", true); 
  }

  @Override
  protected void onProgressUpdate(Void... values) {
  }
YouClass
{
进程对话;
onCreate(…)
{
//在这里执行异步任务。
新建myNetworkingTask().execute(“”);
}
私有类myNetworkingTask扩展了AsyncTask{
@凌驾
受保护的字符串doInBackground(字符串…参数)
{
//在这种方法中,您将完成联网任务
httpclient.execute();
}
返回“”;
}      
@凌驾
受保护的void onPostExecute(字符串结果){
//在此方法中,您将隐藏进度条
dialog.dismise();
}
@凌驾
受保护的void onPreExecute(){
//在此方法中,您将显示进度条。
dialog=ProgressDialog.show(MyActivity.this,“,
“正在加载。请稍候…”,正确);
}
@凌驾
受保护的void onProgressUpdate(void…值){
}

首先,我建议您在异步类中完成所有联网。 您可以使用以下模板将代码放入异步类中。 将ProgressDialog作为类变量

YouClass
{
ProgressDialog dialog;

 onCreate(....)
{
  //Execute the async task here.
  new myNetworkingTask().execute("");
}

private class myNetworkingTask extends AsyncTask<String, Void, String> {

  @Override
  protected String doInBackground(String... params) 
        {
            //In this method you will do the networking task
            httpclient.execute();
        }
        return "";
  }      

  @Override
  protected void onPostExecute(String result) { 
          //In this method you will hide the progress bar
         dialog.dismiss();
  }

  @Override
  protected void onPreExecute() {
         //In this method you will display the progress bar.
        dialog = ProgressDialog.show(MyActivity.this, "", 
                    "Loading. Please wait...", true); 
  }

  @Override
  protected void onProgressUpdate(Void... values) {
  }
YouClass
{
进程对话;
onCreate(…)
{
//在这里执行异步任务。
新建myNetworkingTask().execute(“”);
}
私有类myNetworkingTask扩展了AsyncTask{
@凌驾
受保护的字符串doInBackground(字符串…参数)
{
//在这种方法中,您将完成联网任务
httpclient.execute();
}
返回“”;
}      
@凌驾
受保护的void onPostExecute(字符串结果){
//在此方法中,您将隐藏进度条
dialog.dismise();
}
@凌驾
受保护的void onPreExecute(){
//在此方法中,您将显示进度条。
dialog=ProgressDialog.show(MyActivity.this,“,
“正在加载。请稍候…”,正确);
}
@凌驾
受保护的void onProgressUpdate(void…值){
}

httpclient是aysnctask吗?你确定你想要一个
进度条而不是
进度对话框吗?但是你肯定需要一个异步任务,可能会有帮助。httpclient是aysnctask吗?你确定你想要一个
进度条而不是
进度对话框吗?但是你肯定需要一个异步任务,可能会有帮助