繁体   English   中英

如何执行活动 N 次,其中 N 是用户输入

[英]How to Execute an activity N times ,Where N is user input

我想执行一个特定的活动或一个片段,它获取数据并将其保存到数据库中,并且该活动执行 N 次。 这里 N(integer) 是来自用户的给定输入

如果 A 是一个活动,它多次或 N 次执行活动 B,其中 N 是来自用户的给定输入。其中活动 B 获取一些用户输入数据并在数据库中保存 N 次。

例如:活动 A ---> 输入问题数量 _____(8) 按钮[下一步]--执行活动 B

Activity B----> Enter the 1st Question ______________________________ Button[Next] 当我点击 Next 按钮时,它应该保存第一个问题并且必须重复 Activity B 8 次

我相信你想要一个 For 循环。 不知道你有什么代码,我只能提供伪代码。

int userInput = getUserInput();

for(i = 0; i < userInput; i++) {
    // Display the form
    // User inputs data
    // Write it to the database
}

为活动 B 提供一个带有参数 N 的 startActivity 方法,并使用它来将 N 从活动 A 传递到 B,如果 N 大于零,单击下一个按钮再次转到活动 B 并完成当前活动以避免内存泄漏和减去每次 N 一个,这应该可以工作,这是一些 kotlin 代码

class ActivityB : AppCompatActivity() {

    companion object {
        @JvmStatic
        fun start(context: Context, n: Int) {
            val intent = Intent(context, ActivityB::class.java)
            intent.putExtra("N", n)
            context.startActivity(intent)
        }

        lateinit var n: Int

        .
        .
        .

        override fun onCreate(savedInstanceState: Bundle?) {
            ...
            n = intent.getIntExtra("N", 0)

            nextButton.setOnClickListener {
                if( n > 0 ) {
                    ActivityB.startActivity(this, n-1)
                } else {
                    // do what you need to do
                }
                activity?.finish()
            }
            ...
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM