我正在编写处理原始文本文件的Android应用。我注意到的是,当使用切换按钮时,textview会在文件的实际文本之前显示一些奇怪的字符。下图显示了我正在谈论的角色。我想知道如何摆脱这些角色,因为它们无法出现在应用程序的最终版本中。有人知道问题是什么吗?
处理切换按钮的代码如下:
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();
}
}