一一显示文字

时间:2019-04-24 08:36:05

标签: android textview

以下是我的string。我想一一显示string中的textview。意味着第一个text应该被同一textview中的第二个替换,依此类推。请建议我该怎么做。

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

3 个答案:

答案 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;
            }
        });

尝试一下。确保将字符串添加到“列表”中