我尝试了这段代码,但它只显示最后一个单词:
signButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String speech = "This code is sample";
String[] result = speech.split("\s");
for (int x=0; x<result.length; x++) {
textView.setText(result[x]);
}
}
});
好的,
首先我花了一段时间才理解你的问题,我仍然不确定,据我所知,你想在按钮单击时显示下一个添加到文本视图中的 WORD。
为此,您可以使用以下代码。
//String Array preparation
String speech = "This code is sample";
String[] result = speech.split("\s");
int count = 0;
signButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//check if array has more values to add or whatever you want to check
if(count<result.length){
if(count==0){
textView.append(result[count];
} else {
textView.append(" " + result[count];
}
count++;
}
}
});
文本视图将仅显示最后一个单词,因为它位于 for 循环中。设置每个单词后,将进行下一次迭代,因此,用户只能查看最后一个单词。您可以在特定时间后更改每个单词。请尝试以下代码。在此,我给了 5 秒钟来显示每个单词。
int x; //declare x as global variable
String speech = "This code is sample";
String[] result = speech.split("\s");
textView.setText(result[0]);
for (x=1; x<result.length; x++) {
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
textView.setText(result[x]);
}
}, 5000);
}
另一种方法全局声明字符串变量
String s="";
现在在你的代码中用这个 s在 for 循环内
s=s+""+result[x];
textView.append(s):