我正在创建一个教程,为此我想为文本视图设置文本。我知道我们可以通过textView.setText设置文本("你的东西")但我的文字太大了,在java文件中看起来很尴尬。那么有没有其他有效的方法呢?
感谢您的帮助
答案 0 :(得分:4)
将其放在字符串资源中
<string name="long_string">
Very long string
</string>
在java中访问它
TextView textView = (TextView)findViewById(R.id.my_text);
textView.setText(R.string.long_string);
您可以在文字内容
中查看CHARACTERS TO ESCAPE IN XML DOCUMENT答案 1 :(得分:1)
其他答案已经建议将其放入字符串资源中。作为替代方案,您也可以将其放在res/raw
下并像普通文本文件一样阅读。
示例:
<强> RES /原料/ looooong.txt 强>
这是一些looooooooooooooooooooooooong文本 你甚至可以把它们放在不同的行中 只需确保处理读取换行符。
<强>的TextView 强>
textView.setText(readRawResource(context, R.raw.looooong));
<强> readRawResource 强>
private String readRawResource(Context ctx, int resId)
{
InputStream inputStream = ctx.getResources().openRawResource(resId);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder sb = new StringBuilder();
try {
while ((line = reader.readLine()) != null) {
sb.append(line);
sb.append('\n');
}
} catch (IOException e) {
return null;
}
return sb.toString();
}
答案 2 :(得分:0)
textView.setText(" AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD");
从像这样的文件中读取它
for (String line : Files.readAllLines(Paths.get("/path/to/file.txt")))
{
// ...
}
将输出保存为字符串,然后使用textView.setText("x");
有关详细信息,请阅读this
如果您的文字超过了屏幕尺寸,则需要了解ScrollView
或HorizontalScrollView
。另外使用this,不要忘记为textView设置字符串ID。
答案 3 :(得分:0)
我不确定我理解但是如果它在文件中的长度困扰你你可以在字符串资源文件中设置你的字符串 RES /值/ string.xml 这条路: 你的stuf 然后在您的代码中设置字符串如下: textView.setText(getResources()的getString(R.string.my_string));