java - Java 循环打印每个 i
问题描述
我无法设法在 Java/Android 应用程序中显示字符串的每个项目。这是我的代码:
int i;
Button changer;
private EditText changerlettres;
String choix;
@SuppressLint("ClickableViewAccessibility")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
changerlettres = (EditText)findViewById(R.id.changerlettres);
changer = (Button)this.findViewById(R.id.changer);
BtnClick();
}
public void BtnClick() {
changer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
choix = changerlettres.getText().toString();
for (int i = 0, n = choix.length(); i < n; i++) {
char letter = choix.charAt(i);
System.out.println(letter); //Does not display anything
Toast.makeText(MainActivity.this,choix,Toast.LENGTH_SHORT).show();// Displays correctly
Toast.makeText(MainActivity.this,letter,Toast.LENGTH_SHORT).show(); // Crash of the app
逐一显示字符串项目的最佳方法应该是什么?非常感谢您的帮助
解决方案
您的应用程序崩溃的原因是因为您一次不能显示多个 Toast。如果要显示多个数据,则需要线程一个接一个地显示,或者您可以连接两个字符串并显示它们。
但是,如果您只是想读取数据以进行调试,则可以使用 Log.d() 方法将它们记录到控制台中。
Log.d("MainActivity", "onClick() called with: choix = [" + choix + "]");
Log.d("MainActivity", "onClick() called with: letter = [" + letter + "]");
希望对你有帮助..!
推荐阅读
- python - 如何找出另一台计算机连接到的路由器/交换机
- python - 如何使我的代码满足此要求
- node.js - Docker Debian .NET Core 镜像错误
- godot - func _physics_process(delta)、move_and_slide()、Vector2() 和 gdscript 中的作用是什么?
- laravel - Laravel 调度程序通过桃子付款向用户收取定期付款
- python - sqlite3.OperationalError:没有这样的列:| 不和谐.py
- java - Java 内存模型:关于顺序一致性的 JLS 声明似乎不正确
- python - Python pandas 数据透视表不返回所有列
- git - 推送到 git repo 时,我不断收到此警告
- azureservicebus - 如何在 Spring Boot Java 中将失败消息推送到 Azure 服务总线死信队列?