如何在listview中设置String值?

时间:2013-02-05 10:23:30

标签: android android-listview assets

我在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);
    }

2 个答案:

答案 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[]并将它们设置为适配器。