无法在PostExecute

时间:2018-02-07 12:51:48

标签: android android-asynctask progress-bar

我在ProgressBar加载数据后试图隐藏Asynctask,但即使我指定View.GONE,进度条仍然存在。 我已经通过不同的链接,但无法获得理想的结果

我在我的活动onCreate中指定了这个,我正在指定以下代码:

    layout =(RelativeLayout) findViewById(R.id.displayLayout);
    progressBar = new ProgressBar(DisplayActivity.this,null,android.R.attr.progressBarStyleLarge);
    params = new RelativeLayout.LayoutParams(100,100);
    params.addRule(RelativeLayout.CENTER_IN_PARENT);

在我的Asynctask onPreExecute事件中,我指定了以下代码:

    layout.addView(progressBar,params);
    progressBar.setVisibility(View.VISIBLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
    WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

OnPostExecute我正在指定以下代码:

            progressBar.setVisibility(View.GONE);
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

我几乎尝试了以下链接中的所有内容:

Android - ProgressBar setVisibility to GONE not working

Android, setVisbility to gone not working in RelativeLayout

2 个答案:

答案 0 :(得分:1)

我希望它适合你。尝试添加进度条onCreate方法

layout.addView(进度,则params); progressBar.setVisibility(View.GONE); 然后onPreExecute只是setVisibility

progressBar.setVisibility(View.VISIBLE); 和onPostExecute只是隐藏ProgressBar

progressBar.setVisibility(View.GONE);

答案 1 :(得分:0)

尝试在UI线程中执行此语句

runOnUiThread (new Thread(new Runnable() { 
     public void run() {
         progressBar.setVisibility(View.GONE);
     }
 }));