0

「reader.txt」のようなAssetsフォルダーのデータストアを使用しています。このデータは、「InputStream」を使用して取得し、このような文字列値をテキストビューの文字列値に設定します。私の質問は、文字列をリストビューに保存する方法ですか?

これが私のコードです:

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 に文字列を格納するには、2 つの方法があります。配列またはオブジェクト リソースを入力として受け取るものを使用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[]使用できます。ListAdapterArrayAdapter<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 に答える