扩大冗长活动序列的最佳方式是啥?

Posted

技术标签:

【中文标题】扩大冗长活动序列的最佳方式是啥?【英文标题】:What's the optimal way to scale up lengthy activity sequences?扩大冗长活动序列的最佳方式是什么? 【发布时间】:2019-04-29 23:00:47 【问题描述】:

我正在创建一个应用程序,它从多个活动中获取用户输入的信息,并根据这些信息为他们提供结果:

对于每个调查,有 7-10 个问题活动和一个结果活动。继续按钮转到下一个活动。

 bContinue.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View view) 
                if (validateData()) 
                    Intent next = new Intent(getApplicationContext(), SurveyThree.class);
                    startActivity(next);
                 else 
                    //Don't
                
            
        );

目前这很好,但随着我的继续开发,我将添加数十种此类调查类型,每种类型都有 7-0 个活动,从而导致数百个活动。

在不创建大量活动的情况下(可重复地)在单独的视图中提供一系列此类问题的最佳性能和用户友好的方式是什么?

【问题讨论】:

在这种情况下最好使用片段而不是活动。 【参考方案1】:

不建议根据您的要求创建更多的活动。相反,您可以使用ViewPager。了解有关 ViewPager 和 Fragments 的更多信息,互联网上有很多可用的材料。在这里,您需要根据您的要求自定义一些东西。

维护一个问题列表并将该列表传递给 viewpager,让它创建您需要的动态数量的片段。这有助于您日后添加新问题。

您需要为您的问题创建片段,为类似类型的问题创建类似类型的片段,即模板类型的片段。当需要添加类似问题时,只需使用existing fragment by changing the content。

Viewpager 默认带有滑动功能,您可以禁用它。 Learn How

【讨论】:

以上是关于扩大冗长活动序列的最佳方式是啥?的主要内容,如果未能解决你的问题,请参考以下文章

将一个 xml 布局用于多个活动的最佳方式是啥?

构建应用程序架构(活动和片段)的最佳方式是啥

project44扩大在中国的网络覆盖范围,以实现实时运输可视化

使应用程序与多个 ado.net 提供商一起工作的最佳方法是啥?

扩大swap分区

扩大 Pandas 日期范围