java - 将多个输入打印成不同的纯文本 - 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]);
}
}
}
解决方案
您正在创建一个新的TextView
's 数组,并且String
每次单击该按钮。将您的代码更改为下面的代码,它应该可以工作。
制作你的
int[] textViews
,String[] array
&int i = 0
类变量,然后在onCreate()
之后初始化它们setContentView()
在上面的代码中,是来自您的活动
int[] textViews
的 ID 数组。TextView
之后,将您的代码更改为以下内容:
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++; } });
推荐阅读
- python - 如何仅通过一次迭代找到链表中的四分位数
- ios - AVPlayer 不适用于 iOS 12.2,而它与带有 XCode 12.3 的 iOS 14.3 一起使用
- node.js - 在节点中创建一个 zip 文件并作为 blob 发送
- windows-services - 0x30 的 Windows 服务类型是什么意思?
- python - 使用 serverless-aws-documentation 描述 swagger-ui 的文件上传
- apache-spark - 从 pandas udf 记录
- angular - 为什么在使用 ng deploy for firebase 后我的 angular index.html 名称更改为 index.original.html?
- google-home - 在 Google Home 创建计时器时收到通知
- python - 查找平均值落在一个范围内的概率 - Python,matplotlib
- asp.net-core - 运行所选代码生成器时出错:“包还原失败。回滚“OdeToFood”的包更改