java - java android开发中for循环跳转到最后一个数字

标签 java android database for-loop logic

嗨,我正在制作一个 Android 应用程序,我想向数据库添加一些值,并且我想执行 N 次,所以我使用了 for 循环,如下所示:

private void addCodeToDataBase() {

    for (int i = 1; i <= 100; i++) {
        //indexnumber is a TextView
        indexNumber.setText("Please enter the TAN code for Index number " + i);
        //tanCode is an EditText
        if (tanCode.getText().toString() != null) {
        //index here is just an int so i can use the i inside the onClick
            index = i;
         //add is a button
            add.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String codeText = tanCode.getText().toString();
                    dbHandler.addcode(index, codeText);
                }
            });

        } else {
            Toast.makeText(addcode.this, "Please enter your code !!!", Toast.LENGTH_LONG).show();
        }
    }
}

但是我在这里面临的是 for 循环在第一次运行时跳转到 100,我的意思是文本将显示:

Please enter the TAN code for Index number 100

它跳过了 99 个数字!!我该如何解决它?

最佳答案

这是因为你的for循环执行得太快了,你无法注意到文本的变化。首先i是0,然后变成1,然后文本将是“请输入索引号1的TAN代码”……

关于java - java android开发中for循环跳转到最后一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35847599/

相关文章:

java - Eclipse 没有作为 java applet 应用程序运行

java - gradle 中的多模块项目编译失败

java - 捕获图像并仅将它们存储在android中的apk中?

自定义通知布局中的android edittext?

mysql - 如何获取所有员工第二高工资的记录基数

mysql - 使用 MySQL JSON 字段连接具有自定义字段的表

java - 动画无法正常工作?

java - 据说 `libX11`不是线程安全的。这是否意味着我不能将 Java AWT 与其他也使用 X11 的东西(例如 Qt)混合使用?

android - 哪个包装设计更好?

mysql - 用同一表mysql中另一列的数据替换一列数据