逐一显示文字

Display text one by one

以下是我的string。我想把textview中的string一一显示出来。意味着第一个 text 应该被第二个 textview 替换,依此类推。请建议我如何执行此操作。

String str = "அவனுடைய கையும் இயல்பாக உறைவாளிடம் சென்றது.\nஇந்த சாலை தஞ்சாவூருக்குத்தான் போகிறது.\n" +
            "ஆனால் இதில் முக்கியமானவர்கள் மட்டுமே போகலாம் மற்றவர்களுக்கு வேறு சாலை இருக்கிறது என்றான் வீரன்.\n" +
            "அப்படியா ஆனால் நானும் ரொம்ப ரொம்ப முக்கியமான மனுஷன் தான் என்றான் வந்தியத்தேவன்.";

首先你必须将参数id添加到你的TextView,例如id1(名称无关紧要)。
然后在你的 java class 中你必须这样做:

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]是 但是只有重要的人才能进去,Veeran说其他人还有另一条路。

strs[2] 是这样吗,但我是一个非常非常重要的人,Vandiyathevan 说。

您还可以使用 int 属性变量并在您的事件中使用它,如下所示:

// Your class attributes
int i = 0;
//Your event method....
text.setText(strs[i]);
i++;

对于 'timer' 问题,您可以在事件方法中使用处理程序,如下所示:

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 秒更改一次文本。

好的,首先您需要将该字符串拆分成小字符串。您将需要一个字符串数组。

String str = "அவனுடைய கையும் இயல்பாக உறைவாளிடம் சென்றது.\nஇந்த சாலை தஞ்சாவூருக்குத்தான் போகிறது.\n" +
            "ஆனால் இதில் முக்கியமானவர்கள் மட்டுமே போகலாம் மற்றவர்களுக்கு வேறு சாலை இருக்கிறது என்றான் வீரன்.\n" +
            "அப்படியா ஆனால் நானும் ரொம்ப ரொம்ப முக்கியமான மனுஷன் தான் என்றான் வந்தியத்தேவன்.";

String[] splitStr = str.split("\s+");

然后你可以用它做任何你喜欢的事情并捕捉你想要的任何字符串:

splitStr[0] 是 அவனுடைய

splitStr[1] 是 கையும்

依此类推,直到最后一个。

之后将其加载到您的 TextView 中,可能使用 for 循环,或者我不知道您何时要显示它。

text.setText(splitStr[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;
            }
        });

尝试 this.and 确保将字符串添加到 "list"