当前位置: 首页 > 知识库问答 >
问题:

在回收器视图GridLayout中更改跨度大小期间如何显示进度条?

幸阳波
2023-03-14

我正在使用RecolyerViewGridLayout来显示产品。我有一个按钮,当点击时改变跨度大小。我已经使用GridLayoutManager.setSpanSizeLookup动态更改跨度大小。一切正常,但当我点击按钮,它需要一些时间来改变跨度大小。我想在这个过程中显示一个进度条。我怎么能那样做?

 public void onGridViewClick() {
        if (isGridViewEnabled){
            gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
                @Override
                public int getSpanSize(int position) {
                    switch (adapter.getItemAtPosition(position).getType()) {
                        case BaseGoodkartSearchResultModel.SEARCH_ITEM: return 2;
                        case BaseGoodkartSearchResultModel.SWAN_ITEM:  return 2;
                        case BaseGoodkartSearchResultModel.OFFER_EXPIRED: return 2;
                    }
                    return 1;
                }
            });
            isGridViewEnabled=false;

        }else {
            gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
                @Override
                public int getSpanSize(int position) {
                    switch (adapter.getItemAtPosition(position).getType()) {
                        case BaseGoodkartSearchResultModel.SEARCH_ITEM: return 1;
                        case BaseGoodkartSearchResultModel.SWAN_ITEM:  return 2;
                        case BaseGoodkartSearchResultModel.OFFER_EXPIRED: return 2;
                    }
                    return 1;
                }
            });
            isGridViewEnabled=true;
        }
        
    }

共有1个答案

宗政燕七
2023-03-14

只需在用户点击网格视图时显示一个带有进度条(默认进度条如圆形)的报警对话框,并在视图加载后将其删除。

        AlertDialog alertDialog;  
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setCancelable(false);
        builder.setView(R.layout.progresslayout);// This Layout just contain a simple progress bar
        alertDialog = builder.create();
        alertDialog.show();
        alertDialog.dismiss();// to dismiss when layout loaded
 类似资料:
  • 我刚开始在firebase工作。我设法上传了文本和图像,但是,我无法检索要显示在回收器视图中的图像,只能检索文本。我用的是毕加索依赖。我已经包括了我的主要活动。java类,该类负责显示从问题“我的适配器”中的firebase检索的回收器视图项。java类和模型类。我相信,在我将图像URI上载到firebase存储时,我可能犯了没有存储图像URI的错误,因此适配器无法检索图像位置。我想这可能是因为我

  • 问题内容: 我正在尝试使用与表相同的命令来更改视图的列大小: 但是它的投掷错误 SQL错误:ORA-00942:表或视图不存在 那么如何改变视图的列大小呢? 问题答案: 这是我遵循的过程: 1-首先通过运行以下查询找到该视图的基表 2-上面的查询将为您提供一个表,您将在该表中找到列名“ REFERENCED_NAME”下的基表。 3-现在更改该基础表的列大小。 注意:该视图可以由1个或多个1个表组

  • 我正在制作一个应用程序,其中有回收器视图。但我无法在我的应用程序中看到回收器视图。当我检查Logcat时,它显示'e/recyclerview:No adapter attached;正在跳过布局‘。为什么会发生这种情况,我该如何修复? 我的主要活动代码: 我的适配器(PostAdapter.java)类代码:

  • 我正试图添加数据在我的回收视图从火炉。我有带名字的文件(级别级别编号)但没有显示我的活动这是代码: 主要活动水平: 公共类级别活动扩展AppCompat活动{ } 水平调整器 公共类级别适配器扩展了RecyclerView。适配器 }

  • 问题内容: 好的,这样我就可以使用Java FTP上传文件,我想更新标签和进度条。用百分比文本标签,用百分比int值标记。现在,使用当前代码,在上传结束时只能获得100和完整条。在上传过程中,它们均未更改。 这里是: 问题答案: 从它的声音(并且没有任何证据可以证明主观)看来,您在事件调度线程中处理一个耗时的动作 您可能想阅读Swing中的并发性以获得更多了解 我建议使用SwingWorker进行

  • 在我的应用程序中,我使用了一个回收器视图,它包含了许多项目,我想在项目之间显示一个点分隔线(分隔符),但它不起作用。我尝试创建一个可绘制的形状,但在添加DividerItemDecurity之后,在回收器视图项之间没有显示空间或线条。我也尝试过创建自定义DividerItemDecoration类,但对我来说都不起作用。注意:目前在我的可绘制形状被设置为矩形,我也尝试了线条。如何实现。任何帮助都将