我有需要以拉丁文显示的文本。当文本文件显示在 TextView 中时,带有问号的小菱形会出现在所有字母应该带有重音符号的位置。任何人都可以帮忙吗?我需要能够以 PDF 格式显示文本。所以我通过将文本部分从 PDF 复制到文本文件中来获得我的文本文件。扫描文本文件的代码如下所示:
public String inputStreamToString(InputStream is) throws IOException
{
StringBuffer sBuffer = new StringBuffer();
BufferedReader dataIO = new BufferedReader(new InputStreamReader (is));
String strLine = null;
while ((strLine = dataIO.readLine()) != null)
{
sBuffer.append(strLine + "\n");
}
dataIO.close();
is.close();
return sBuffer.toString();
}
然后在 onCreate() 我有这个:
text = (TextView)findViewById(R.id.textView1);
//text.setText("This is a whole lot of text and praying");
InputStream iFile = getResources().openRawResource(idEng);
try {
text.setText(inputStreamToString(iFile));
text.setFocusable(false);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
text.setMovementMethod(new ScrollingMovementMethod());
ELswitch = (ToggleButton)findViewById(R.id.toggleButton1);
ELswitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked==true)
{
InputStream iFile = getResources().openRawResource(idLat);
System.out.println(R.raw.sunday_compline_english);
try {
text.setText(inputStreamToString(iFile));
text.setFocusable(false);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
InputStream iFile = getResources().openRawResource(idEng);
try {
text.setText(inputStreamToString(iFile));
text.setFocusable(false);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
切换按钮使用户可以在英语和拉丁语之间来回切换。问题是拉丁文看起来像这样(所有带重音的字母都被一个奇怪的问号符号替换):
这是文本文件的问题吗?我应该直接从 PDF 工作吗?如果有人有任何想法,我将非常感谢您的帮助。谢谢!