Android 合并名字和姓氏
在这里,我逐字阅读文件,并用这些字操作列表视图。这里的问题是名字和姓氏出现在不同的行中。e、 g.Name=johnclerk然后我得到列表视图第一行的John和第二行的Clerk。对于其他数据,它们必须是单行,以此类推。我应该做什么更改才能正常工作?我的代码Android 合并名字和姓氏,android,string,listview,Android,String,Listview,在这里,我逐字阅读文件,并用这些字操作列表视图。这里的问题是名字和姓氏出现在不同的行中。e、 g.Name=johnclerk然后我得到列表视图第一行的John和第二行的Clerk。对于其他数据,它们必须是单行,以此类推。我应该做什么更改才能正常工作?我的代码 String myData = ""; String strLine; String listName = "" ; FileOutputStream fos; FileInputStream fstream; DataInputStre
String myData = "";
String strLine;
String listName = "" ;
FileOutputStream fos;
FileInputStream fstream;
DataInputStream in;
String[] SavedFiles;
BufferedReader br;
public void readFile(String file) throws IOException
{
fstream = openFileInput(file);
Scanner scanFile = new Scanner(new DataInputStream(fstream));
ArrayList<String> words = new ArrayList<String>();
String theWord, theWord1, theWord2;
while (scanFile.hasNext())
{
theWord = scanFile.next();
words.add(theWord);
}
Toast.makeText(getBaseContext(), "" + size, 1000).show();
adapterFriends = new ArrayAdapter<String>(getBaseContext(), R.layout.text, words);
lvFinal.setAdapter(adapterFriends);
adapterFriends.notifyDataSetChanged();
}
尝试使用nextLine而不是next,因为它应该返回\n个字符之间的每个字符串
希望这对我有所帮助如果我正确理解了您的需求,请尝试以下方法:
while (scanFile.hasNext())
{
String name = scanFile.next();
if (scanFile.hasNext())
{
name = String.format("%s %s", name, scanFile.next());
}
words.add(name);
}
@Adrian…没有得到我想要的输出…相反,所有字符串都在一行中显示…意味着如果文件有两个名称,名称1=John Clerk和名称2=Steve Rich,然后在列表视图的一行中,他们显示为John Clerk Steve Rich…你没有回答这个问题-OP询问如何控制adapterFriends显示的文本中换行符的位置-它与读取输入无关。@alfasin我认为它与读取输入有很大关系。我的意思是,如果输入是在单独的行中,我的答案是正确的;由于我们没有任何关于文件结构的进一步信息,我的答案可能是正确的。回到主题上来,你能给我们更多关于你的文件结构的细节吗?您可以控制它吗?在我的文件中,我正在从Listview保存数据。表示有一个具有某些名称的列表视图。当用户选择这些名称时,它们应该保存在文件中。当我读取该文件时,数据应该再次出现在第二个列表视图中。@AdriánRodríguez是正确的。问题在于不了解ArrayAdapter是如何工作的。ArrayList中的每个项都将是其自己的行。因此,要正确执行所需操作,数据需要以不同的格式进入ArrayList。可能的重复将要解决。让我告诉你,我在这里得到了什么。name1=John Clerk和name2=Steve Rich,我排在第一排John Clerk Steve,第二排只有Rich……你能从你阅读的地方把你文件的前3-4行打印出来吗?我想您的文件格式不正确。请将您的写操作发布到文件方法。我想问题就出在那里了。public void writeToFileArrayList datawrite,String file抛出IOException{try{fos=openFileOutputfile,Context.MODE\u PRIVATE;forint temp=0;temp