如何在AsyncTask的post execute方法中获取对recyclerview适配器的引用进度条

问题描述 投票:0回答:1

这是我想要解决的方案。我有一个包含一些要提交给服务器的数据的布局,这个Activity布局需要上传使用RecyclerView.Adapter列出的多个文件(附件)。在我的布局底部列出的每个附件中都有一个进度条,显示已上载到服务器的状态或文件的百分比。单击提交按钮,它调用AsyncTask,并在onPostExecute布局的Activity方法中,我想上传我的附件。

克服这个问题的最佳方法是什么?请帮忙。

android android-recyclerview android-asynctask adapter
1个回答
0
投票

如果您的异步任务是活动或片段的内部类,您只需从onPostExecute中调用位于活动或片段中的方法即可

class MyActivity extends Activity
{

    public void showOrHideProgress(Result result)
    { 
        // your code here
    }

    class MyAsyncTask extends AsyncTask
    { 
        private final WeakReference><View> progressBarReference;

        public MyAsyncTask(@NonNull View progress)
        {
            this.progressBarReference = new WeakReference<>(progress); 
        }

        @Override
        protected void onPostExecute(Result result)
        {
            super.onPostExecute(result);
            showOrHideProgress(result); // or do something with progressBarReference
        }
    }

}

© www.soinside.com 2019 - 2024. All rights reserved.