0

我在资产文件夹中使用数据存储,如“reader.txt”,此数据使用“InputStream”获取字符串值,如在 textview 中设置为字符串值。我的问题是如何在列表视图中存储字符串?

这是我的代码:

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);
    }
4

2 回答 2

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);
于 2013-02-05T10:33:07.980 回答
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[]设置为适配器。

于 2013-02-05T10:32:28.110 回答