以下是我的string
。我想一一显示string
中的textview
。意味着第一个text
应该被同一textview
中的第二个替换,依此类推。请建议我该怎么做。
String str = "அவனுடைய கையும் இயல்பாக உறைவாளிடம் சென்றது.\nஇந்த சாலை தஞ்சாவூருக்குத்தான் போகிறது.\n" +
"ஆனால் இதில் முக்கியமானவர்கள் மட்டுமே போகலாம் மற்றவர்களுக்கு வேறு சாலை இருக்கிறது என்றான் வீரன்.\n" +
"அப்படியா ஆனால் நானும் ரொம்ப ரொம்ப முக்கியமான மனுஷன் தான் என்றான் வந்தியத்தேவன்.";
答案 0 :(得分:2)
首先,必须将参数id添加到TextView中,例如id1(名称无关紧要)。
然后在您的Java类中,您必须这样做:
TextView text = findViewById(R.id.id1);
// USE THE SPLIT METHOD
String[] strs = str.split("\n");
在更改文本的情况下,您必须将这些行放在一行中。
text.setText(strs[0]);
text.setText(strs[1]);
text.setText(strs[2]);
strs[0]
是சென்றது。\ nஇந்ததஞ்சாவூருக்குத்தான்。
strs[1]
是வீரன்。
strs[2]
是வந்தியத்தேவன்。
您还可以使用int属性变量,并在事件中使用它,如下所示:
// Your class attributes
int i = 0;
//Your event method....
text.setText(strs[i]);
i++;
对于“计时器”问题,您可以在事件方法内使用处理程序,如下所示:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
if(i<strs.length()){
text.setText(strs[i]);
i++;
}
}
}, 5000); // This number is the time in miliseconds
这将每5秒更改一次文本。
答案 1 :(得分:0)
首先,您需要将该字符串分成小字符串。您将需要一个字符串数组。
String str = "அவனுடைய கையும் இயல்பாக உறைவாளிடம் சென்றது.\nஇந்த சாலை தஞ்சாவூருக்குத்தான் போகிறது.\n" +
"ஆனால் இதில் முக்கியமானவர்கள் மட்டுமே போகலாம் மற்றவர்களுக்கு வேறு சாலை இருக்கிறது என்றான் வீரன்.\n" +
"அப்படியா ஆனால் நானும் ரொம்ப ரொம்ப முக்கியமான மனுஷன் தான் என்றான் வந்தியத்தேவன்.";
String[] splitStr = str.split("\\s+");
然后,您可以执行任何操作并捕获所需的任何字符串:
splitStr[0]
是அவனுடைய
splitStr[1]
是கையும்
依次类推,直到您的最后一个。
将其加载到您的TextView中之后,可能带有for循环,或者我不知道何时显示它。
text.setText(splitStr[1]);
答案 2 :(得分:-1)
private int count = 0;
List<String> list = new ArrayList<>();
list.add(firstString);
list.add(secondString); //so on
tvName.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(count < list.size()-1){
count = ++count;
}
tvName.setText(list.get(count));
return false;
}
});
尝试一下。确保将字符串添加到“列表”中