我正在编写一个处理原始文本文件的 Android 应用程序。我注意到的是,当使用切换按钮时,文本视图会在文件的实际文本之前显示一些奇怪的字符。下图显示了我正在谈论的角色。我想知道如何摆脱这些字符,因为它们不能出现在应用程序的最终版本中。有人知道会是什么问题吗?
处理切换按钮的代码如下:
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(R.raw.sunday_compline_latin);
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(R.raw.sunday_compline_english);
try {
text.setText(inputStreamToString(iFile));
text.setFocusable(false);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
该代码运行良好,并且似乎没有任何内容会更改文本文件,因为这些字符不会出现在原始文件中。此外,我有一个类似的活动,它不使用切换按钮,这些字符只出现在这个实例中(使用切换按钮)。代码有问题吗?有人有建议吗?
这是我的 inputStreamToString:
public String inputStreamToString(InputStream is) throws IOException
{
StringBuffer sBuffer = new StringBuffer();
DataInputStream dataIO = new DataInputStream(is);
String strLine = null;
while ((strLine = dataIO.readLine()) != null)
{
sBuffer.append(strLine + "\n");
}
dataIO.close();
is.close();
return sBuffer.toString();
}
}