【问题标题】:Change visibility settings in onPostexecute in async task在异步任务中更改 onPostexecute 中的可见性设置
【发布时间】:2020-01-18 03:55:57
【问题描述】:

我正在使用AsyncTask 通过 Jsoup 解析来自网站的数据。在我的布局(片段)中,我想显示 ProgressBar 直到加载数据。加载数据后,我想将ProgressBar 的可见性更改为INVISIBLE,并将ScrollView 的可见性更改为VISIBLE(以显示数据)。我在 onPostExecute() 方法中尝试过,但它不起作用。

private class Erste extends AsyncTask<Void, Void, Void> {

    private ProgressBar progressBar;
    private ScrollView scrollView;

    @Override
    protected void onPostExecute(Void result) {

        progressBar.findViewById(R.id.progressbar);
        progressBar.setVisibility(progressBar.INVISIBLE);
        scrollView.findViewById(R.id.tabelle1);
        scrollView.setVisibility(scrollView.VISIBLE);
    ...

}

【问题讨论】:

  • 分配给视图的 ID 不正确。

标签: java android android-asynctask visibility android-progressbar


【解决方案1】:

首先你应该让你的ProgressBarpreExecute方法上可见,ScrollView不可见。 doInBackground 完成后,您应该按照您的要求进行操作。相反。

【讨论】:

    【解决方案2】:

    progressBar 和scrollView 没有分配对象。你应该试试这样的……

    private class Erste extends AsyncTask<Void, Void, Void> {
    
        private ProgressBar progressBar;
        private ScrollView scrollView;
    
        @Override
        protected void onPostExecute(Void result) {
    
            progressBar = findViewById(R.id.progressbar);
            progressBar.setVisibility(progressBar.INVISIBLE);
            scrollView = findViewById(R.id.tabelle1);
            scrollView.setVisibility(scrollView.VISIBLE);
    ...}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-20
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多