首页 > 解决方案 > 将多个输入打印成不同的纯文本 - Android Studio

问题描述

我正在 Android Studio 中开发一个项目,其中我有一个 EditText,用户将一次插入一个单词,10 次。每次用户编写新输入并单击按钮时,它都会转到与以前不同且与下一个不同的 TextView。如何将不同的输入放入特定的(不同的)TextViews?

每个 TextView 都有不同的顺序 ID,例如 word1、word2 等。

好久没学java了,逻辑有点问题。我尝试执行以下操作,但应用程序崩溃。

    gameword = (EditText) findViewById(R.id.wordj);

    public void onClick(View v) { 
printwords(gameword.getText().toString());
    }

            });

    public void printwords(String word) {
            String[] array = new String[10];
            TextView[] positions = new TextView[10];



        for (int i=0; i < 10; i++){
                array[i] = word;
                   positions[i].setText(array[i]);
               }

            }


        }

标签: javaandroidarrays

解决方案


您正在创建一个新的TextView's 数组,并且String每次单击该按钮。将您的代码更改为下面的代码,它应该可以工作。

  1. 制作你的int[] textViews, String[] array&int i = 0类变量,然后在onCreate()之后初始化它们setContentView()

  2. 在上面的代码中,是来自您的活动int[] textViews的 ID 数组。TextView

  3. 之后,将您的代码更改为以下内容:

    gameword = (EditText) findViewById(R.id.wordj);
    
    public void onClick(View v) { 
        array[i] = gameword.getText().toString();
        YourActivity.this.findViewById(textViews[i]).setText(array[i]);
        i++;
    }
    });
    

推荐阅读