如何通过单击两个按钮在单个活动中在 RecyclerView 和 ListView 之间切换?

Posted

技术标签:

【中文标题】如何通过单击两个按钮在单个活动中在 RecyclerView 和 ListView 之间切换?【英文标题】:How to switch between RecyclerView & ListView in single activity with two buttons clicks? 【发布时间】:2019-01-13 05:33:43 【问题描述】:

我一直在寻找如何在 android 的单个活动中在 RecyclerView 和 ListView 之间切换。 (与 Instagram 在我的个人资料活动中实现查看我们自己的帖子的方式相同。它改变了单个活动的布局与 RecyclerView 和 ListView 之间)。不幸的是,我没有找到任何与之相关的文章或视频教程。我知道问这种类型的问题很业余,但任何想法都会受到赞赏!

【问题讨论】:

RecyclerView 只是 listView 的“改进”版本,你能澄清一下你想做什么吗?只需在您的代码或其他内容中从 listview 迁移到 recyclerview? 我认为您没有正确理解 Instagram 在幕后所做的事情...... 【参考方案1】:

如果我说得对,您想从网格布局切换到水平列表布局,就像在 instagram 中一样。您可以在单个 RecyclerView 中使用 LayoutManager 实现相同的目标 例如点击按钮

ivSwitch.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            if(gridShowing) 
                gridShowing=false;
                recyclerView.setLayoutManager(new LinearLayoutManager(ResultsActivity.this));

                ivSwitch.setImageResource(R.drawable.ic_grid);
            

            else 
                gridShowing=true;
                recyclerView.setLayoutManager(new GridLayoutManager(ResultsActivity.this, 2));
                ivSwitch.setImageResource(R.drawable.ic_list);
            

        
    );

其中 ivSwitch 是一个按钮,gridshowing 是一个布尔值,默认值为 false。如果您需要进一步的帮助,请尝试告诉我。

【讨论】:

以上是关于如何通过单击两个按钮在单个活动中在 RecyclerView 和 ListView 之间切换?的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个按钮单击或事件上执行两个任务

如何在按钮单击时启动新活动

如何在Oracle Business Intelligence 11.1.1.9.0(OBIEE)中在列级别添加切换按钮

如何在按钮单击时开始新活动

如何检测在单个 Action 类中的多个提交按钮场景中单击的提交按钮? [复制]

如何通过单击选项卡来更改操作栏菜单按钮