加载数据并填充到recyclerview时如何显示进度条?

     2023-03-25     219

关键词:

【中文标题】加载数据并填充到recyclerview时如何显示进度条?【英文标题】:How to display progressbar while load data and fill into recyclerview? 【发布时间】:2018-02-12 17:22:33 【问题描述】:

我想在加载数据和加载完成时在活动中显示进度条,隐藏进度条(GONE)! 并尝试此代码:(单击按钮以加载数据)

private void allMoment() 
    BTN_ALL.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            try 
                TBL_MOMENT = new TableMoment(DB_HELPER);
             //   MOMENTS = TBL_MOMENT.MOMENT_LIST();
                new loadTask().execute();
                filterResult();
                EDT_SEARCH.setText("");
             catch (Exception e) 
                displaySnackBar(v, "خطا:" + "\n" + e.toString());
            
        
    );

和任务方法:

private class loadTask extends AsyncTask<String, Integer, Boolean> 
    @Override
    protected void onPreExecute() 
        PROGRESS_LOADER.setVisibility(View.VISIBLE);
        super.onPreExecute();
    

    @Override
    protected void onPostExecute(Boolean result) 
        PROGRESS_LOADER.setVisibility(View.GONE);
        adapter.notifyDataSetChanged();
        super.onPostExecute(result);
    

    @Override
    protected Boolean doInBackground(String... params) 
        MOMENTS = TBL_MOMENT.MOMENT_LIST();
        try 
            Thread.sleep(3000);
         catch (Exception e) 
            e.printStackTrace();
        
        return null;
    

并用适配器填充回收器:

private void filterResult() 
    try 
        adapter = new HistoryAdapter(this, MOMENTS);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        recyclerView.setAdapter(adapter);
     catch (Exception e) 
        displayToast(this, "خطای آداپتر:" + "\n" + e.toString());
    

但是数据被加载并填充到recyclerview中并且不显示进度条 如何解决这个问题?

【问题讨论】:

【参考方案1】:

你有:

 new loadTask().execute();
 filterResult();
 EDT_SEARCH.setText("");

execute() 调用会立即返回,如果您执行 AsyncTask 等待结果,直到AsyncTask.doInBackground() 返回并调用AsyncTask.onPostExecuted() 才会有结果

这是filterResult(); 耗时吗? ...如果主 UI 线程被阻塞,则 UI 将不会更新。

【讨论】:

"这个 filterResult(); 耗时吗?"是的......我想在加载数据时,用户看到进度条 如果 filterResult();阻塞 UI 线程 ProgressBar 不会显示或更新,您应该在单独的线程中运行 filterResult()。【参考方案2】:

您希望此进度条如何工作?您可以在 Internet 上搜索 gif,一旦找到符合您条件的 gif,您必须在打开活动时显示它。当您填充您的 recyclerView 时,您将 gif 的可见性设置为 GONE。

【讨论】:

从 Firebase android kotlin 获取数据时如何显示加载的项目

...lin【发布时间】:2022-01-0708:49:37【问题描述】:我有一个RecyclerView和我的Fragment。我正在从FirebaseRealtimeDatabase获取数据到RecyclerVie 查看详情

recyclerview代替listview和grideview

1.RecyclerView是Google推出的最新的替代ListView、GridView的组件,RecyclerView是用来显示大量数据的容器,并通过有限数量的子View,来提高滚动时的性能。2.优点:RecyclerView不再负责布局,而是专注于布局复用。自己在用的过程中,感觉... 查看详情

滚动时将更多数据加载到recycleview

...其放入ArrayList。接下来,我将ArrayList放入Adapter中以获得RecyclerView。当用户到达终点时,我想向服务器发送请求并获取RecyclerView的数据。现在,我做到了,而且效果 查看详情

将解析的 JSONArray 加载到 recyclerView

】将解析的JSONArray加载到recyclerView【英文标题】:LoadingparsedJSONArrayintoarecyclerView【发布时间】:2020-09-1014:49:48【问题描述】:我正在尝试将API调用的结果加载到recyclerView中。我创建了一个数据模型来保存要用于填充recyclerView适配... 查看详情

Android - 加载时屏幕自动滚动到 RecyclerView

】Android-加载时屏幕自动滚动到RecyclerView【英文标题】:Android-ScreenscrollsautomaticallytoRecyclerViewwhenloaded【发布时间】:2021-10-2816:37:35【问题描述】:我正在开发一个Android(Java)应用程序。我有一个片段,上面有一个段落,下面是一... 查看详情

如何使用大型 json 数据填充 RecyclerView [重复]

】如何使用大型json数据填充RecyclerView[重复]【英文标题】:HowtopopulateRecyclerViewwithlargejsondata[duplicate]【发布时间】:2017-11-1710:51:09【问题描述】:我有一个返回JSON对象的REST方法,JSON文件大小几乎重7MB,并且有将近4600个JSON对象... 查看详情

如何使用 JSON API 在滚动时在 recyclerview 中加载更多数据

】如何使用JSONAPI在滚动时在recyclerview中加载更多数据【英文标题】:HowtoloadmoredatainrecyclerviewonscrollusingJSONAPI【发布时间】:2021-08-2904:55:37【问题描述】:我正在滚动的recyclerview中实现分页。我正在从JSONAPI获取数据。下面是片段... 查看详情

单击 RecyclerView 后使用 Firebase 实时数据库填充详细信息活动

】单击RecyclerView后使用Firebase实时数据库填充详细信息活动【英文标题】:PopulatedetailsactivitywithFirebaseRealTimeDatabaseafterclickonRecyclerView【发布时间】:2021-02-2302:20:50【问题描述】:我想在我的回收站视图中单击并打开一个新活动来... 查看详情

如何将资产文件夹中的 JSON 数据加载到 Recyclerview

】如何将资产文件夹中的JSON数据加载到Recyclerview【英文标题】:HowtoloadJSONdatafromassetfolderintoRecyclerview【发布时间】:2019-12-2201:55:39【问题描述】:我卡在RecyclerView中的数据中。我在资产文件夹中有一个这样的json:我想将此数据... 查看详情

Recyclerview 未显示来自 Firebase Kotlin 的数据

】Recyclerview未显示来自FirebaseKotlin的数据【英文标题】:RecyclerviewisnotshowingdatafromFirebaseKotlin【发布时间】:2018-08-3011:27:55【问题描述】:正如标题所说,我从昨天开始使用Kotlin。我想用来自Firebase的数据填充RecyclerView。我尝试了... 查看详情

如何将数据从 BottomSheetDialogFragment 返回到父片段

...时间】:2019-06-1404:51:50【问题描述】:我在底部表中填充RecyclerView并将底部表显示为底部表对话框片段。当点击RecyclerView中的项目时,我想使用该项目的详细信息自动填写表单。如何将包含来 查看详情

RecyclerView 分页加载不正确?

】RecyclerView分页加载不正确?【英文标题】:RecyclerViewpaginationdoesnotloadproperly?【发布时间】:2021-07-2405:19:57【问题描述】:我需要为recyclerview进行分页。首先加载20个数据。滚动后,它必须再加载20个数据。但是它将这20个数据加... 查看详情

在 recyclerview 中显示来自服务器的数据时无休止的滚动

】在recyclerview中显示来自服务器的数据时无休止的滚动【英文标题】:Endlessscrollingwhenshowingdatafromserverinrecyclerview【发布时间】:2018-11-2601:31:00【问题描述】:我有一个图像应用程序。它从服务器和数据库加载图像。当用户单击... 查看详情

cursor 第一次为空,recyclerView 不显示游标数据

】cursor第一次为空,recyclerView不显示游标数据【英文标题】:cursorisnullfirsttimeandrecyclerViewdoesn\'tshowthecursordata【发布时间】:2019-11-0321:34:39【问题描述】:在我的应用程序中,我正在调用游标,然后将游标发送到recyclerView适配器... 查看详情

将 GeoFire 查询加载到 RecyclerView 时应用程序崩溃

】将GeoFire查询加载到RecyclerView时应用程序崩溃【英文标题】:ApplicationcrasheswhenloadingaGeoFirequeryintoRecyclerView【发布时间】:2019-01-3009:50:51【问题描述】:我正在开发一个基于位置的聊天应用程序作为最终任务,但是有一个我无法... 查看详情

在listview中向下滚动时如何加载更多项?(代码片段)

...一个变量中。步骤2:将onscroll结束监听器实现到listView或RecyclerView。步骤#3:在滚动结束侦听器内部启动另一个请求并加载新记录。(这里我再次在变量中设置数据id)例如:在活动开始时启动请求并执行我之前解释的操作。GetB... 查看详情

如何过滤获取的数据并加载到 tableview 中?

】如何过滤获取的数据并加载到tableview中?【英文标题】:HowcanIfiltermyfetcheddataandloadintotableview?【发布时间】:2019-05-0314:13:29【问题描述】:我正在使用Firebase数据库。我获取了数据,并希望仅过滤和显示与用户选择匹配的信息... 查看详情

如何在 SharedPreferences 中保存推送通知数据并在 RecyclerView 中显示

】如何在SharedPreferences中保存推送通知数据并在RecyclerView中显示【英文标题】:HowtosavePushNotificationDatainSharedPreferencesanddisplayinRecyclerView【发布时间】:2016-04-1503:27:41【问题描述】:我创建了一个从PushBots接收推送通知的应用程序... 查看详情