Java 如何在listView中显示文本文件中的数据
我有一个纯文本文件,它由几行组成,在每行的末尾插入一个逗号(,)。我还可以读取文本文件并将其设置为Java 如何在listView中显示文本文件中的数据,java,android,listview,Java,Android,Listview,我有一个纯文本文件,它由几行组成,在每行的末尾插入一个逗号(,)。我还可以读取文本文件并将其设置为ListView,但我不知道如何在ListView中通过以逗号结尾的行创建新项。(我的意思是在单个项目中显示一行。) 我有这样的文本文件: Test 1 , Test 2 , Test 3 , 这是我的列表活动: public class MainMenuActivity extends ListActivity { public String[] ListItems = new Stri
ListView
,但我不知道如何在ListView
中通过以逗号结尾的行创建新项。(我的意思是在单个项目中显示一行。)
我有这样的文本文件:
Test 1 ,
Test 2 ,
Test 3 ,
这是我的列表活动
:
public class MainMenuActivity extends ListActivity {
public String[] ListItems = new String[]{};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
try {
Resources ResFiles = getResources();
InputStream ReadDbFile = ResFiles.openRawResource(R.raw.test);
byte[] Bytes = new byte[ReadDbFile.available()];
ReadDbFile.read(Bytes);
String DbLines = new String(Bytes);
ListItems= new String[]{DbLines};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.main_list, R.id.ListText, ListItems);
setListAdapter(adapter);
} catch (Exception e) {
}
}
公共类MainMenuActivity扩展了ListActivity{
公共字符串[]ListItems=新字符串[]{};
@凌驾
创建公共空间(捆绑冰柱){
超级冰柱;
试一试{
Resources ResFiles=getResources();
InputStream ReadDbFile=ResFiles.openRawResource(R.raw.test);
byte[]Bytes=新字节[ReadDbFile.available()];
ReadDbFile.read(字节);
String DbLines=新字符串(字节);
ListItems=新字符串[]{DbLines};
ArrayAdapter=新的ArrayAdapter(此,
R.layout.main_列表、R.id.ListText、ListItems);
setListAdapter(适配器);
}捕获(例外e){
}
}
这个
ListView
只显示单个项目中的所有行,有什么想法吗?ListItems=newstring[]{DbLines};
将为您提供一个项目数组
DbLines.split(“,”)
可能更好;-)ListItems=newstring[]{DbLines};
将为您提供一个项目数组
DbLines.split(“,”
可能更好;-)
为什么希望ListView显示多个项目?请尝试在字符串数组中拆分文件内容,如下所示:
ListItems = DbLines.split(",");
最后:
public class MainMenuActivity extends ListActivity {
public String[] ListItems = new String[]{};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
try {
Resources ResFiles = getResources();
InputStream ReadDbFile = ResFiles.openRawResource(R.raw.test);
byte[] Bytes = new byte[ReadDbFile.available()];
ReadDbFile.read(Bytes);
String DbLines = new String(Bytes);
ListItems = DbLines.split(","); // Split the content by ","
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.main_list, R.id.ListText, ListItems);
setListAdapter(adapter);
} catch (Exception e) {
}
}
公共类MainMenuActivity扩展了ListActivity{
公共字符串[]ListItems=新字符串[]{};
@凌驾
创建公共空间(捆绑冰柱){
超级冰柱;
试一试{
Resources ResFiles=getResources();
InputStream ReadDbFile=ResFiles.openRawResource(R.raw.test);
byte[]Bytes=新字节[ReadDbFile.available()];
ReadDbFile.read(字节);
String DbLines=新字符串(字节);
ListItems=DbLines.split(,“”;//按“,”拆分内容
ArrayAdapter=新的ArrayAdapter(此,
R.layout.main_列表、R.id.ListText、ListItems);
setListAdapter(适配器);
}捕获(例外e){
}
}
为什么希望ListView显示多个项目?请尝试在字符串数组中拆分文件内容,如下所示:
ListItems = DbLines.split(",");
最后:
public class MainMenuActivity extends ListActivity {
public String[] ListItems = new String[]{};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
try {
Resources ResFiles = getResources();
InputStream ReadDbFile = ResFiles.openRawResource(R.raw.test);
byte[] Bytes = new byte[ReadDbFile.available()];
ReadDbFile.read(Bytes);
String DbLines = new String(Bytes);
ListItems = DbLines.split(","); // Split the content by ","
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.main_list, R.id.ListText, ListItems);
setListAdapter(adapter);
} catch (Exception e) {
}
}
公共类MainMenuActivity扩展了ListActivity{
公共字符串[]ListItems=新字符串[]{};
@凌驾
创建公共空间(捆绑冰柱){
超级冰柱;
试一试{
Resources ResFiles=getResources();
InputStream ReadDbFile=ResFiles.openRawResource(R.raw.test);
byte[]Bytes=新字节[ReadDbFile.available()];
ReadDbFile.read(字节);
String DbLines=新字符串(字节);
ListItems=DbLines.split(,“”;//按“,”拆分内容
ArrayAdapter=新的ArrayAdapter(此,
R.layout.main_列表、R.id.ListText、ListItems);
setListAdapter(适配器);
}捕获(例外e){
}
}
您也可以使用以下方法进行拆分:
DbLines.append("\r\n"); //Splits by NL
Test 1
Test 2
Test 3
这更适合我的代码,也可能适用于您的代码。我相信有一种.lineseparator方法,但这对我很有效。您也可以使用以下方法拆分:
DbLines.append("\r\n"); //Splits by NL
Test 1
Test 2
Test 3
这更适合我的代码,也可能适合你的代码。我相信有一个.lineseparator方法,但它适合我