我在Assets文件夹中使用数据存储,如“reader.txt”这个数据使用“InputStream”geting字符串值,就像在textview中设置为String值一样。我的问题是如何在listview中存储String?
这是我的代码:
try {
InputStream is = getAssets().open("reader.txt");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
// Convert the buffer into a string.
String text = new String(buffer);
TextView tv = (TextView) findViewById(R.id.list);
tv.setText(text);
} catch (IOException e) {
// Should never happen!
throw new RuntimeException(e);
}
答案 0 :(得分:3)
有两种方法可以在listView中存储字符串。您可以使用android:entries
将数组或对象资源作为输入,或者您可以使用ArrayAdapter在listView中设置条目。我将向您展示一个示例。
String[] values={""}//whatever values you have shown in the TextView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
// Assign adapter to ListView
listView.setAdapter(adapter);
答案 1 :(得分:1)
您可以从文件中读取文字,然后将其存储到String[]
中,然后使用ListAdapter
,例如ArrayAdapter<String>
和ListView
。
ListView list = (ListView) findViewById(R.id.someId);
your work with file ...
list.setAdapter(new ArrayAdapter<String>(Context, Layout, data));
// data is String[]
以下是类似的例子:
与您的不同之处在于,您的String[]
将从文件中动态生成。因此,首先您将从文件准备数据,将它们存储到String[]
并将它们设置为适配器。