6列、7700行のCSVファイル(list.csv)を読み込み、2次元配列として格納し、ListViewで表示したいです。
CSVファイルの読み込み方はわかりましたが、格納方法がわかりません。
java
1InputStream is = assetManager.open("list.csv"); 2InputStreamReader inputStreamReader = new InputStreamReader(is); 3BufferedReader bufferReader = new BufferedReader(inputStreamReader);
下記のサイトを参考に、ListViewの表示をすることができました。
ですが、二次元配列したものを、ListViewにどのように表示すれば良いのでしょうか。
ListViewには1列目を50行のみ表示したいと思っています。
(なので、レイアウトはsimple_list_item_1のままで問題ないと思います。)
ListView と ArrayAdapter 簡単なテキストリストの表示
java
1public class TestListView extends Activity { 2 3 private static final String[] texts = {"abc ", "bcd", "cde", "def", "efg", "fgh", "ghi", "hij", "ijk", "jkl", "klm"}; 4 5 @Override 6 public void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 9 ListView listView = new ListView(this); 10 setContentView(listView); 11 12 ArrayAdapter<String> arrayAdapter = 13 new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, texts); 14 // new ArrayAdapter<String>(this, R.layout.content_test_list_view, texts); 15 16 listView.setAdapter(arrayAdapter); 17 } 18}
聞きたいことは以下の2点となります。
・CSVファイルを読み込み2次元配列として格納する方法
・2次元配列として格納された、1列目のみListViewに表示する方法
初歩的な質問となり申し訳有りませんが、よろしくお願いします。
###追記
回答いただいた内容を元に、できる限りに行ってみました。
以下の内容から、どのように2次元配列したら良いのでしょうか。
よろしくお願い致します。
java
1public static void main(String[] args) { 2 try { 3 BufferedReader br 4 = new BufferedReader(new FileReader("XXX.csv")); 5 String s; 6 while ((s = br.readLine()) != null) { 7 String array[] = s.split(","); 8 //ここで2次元配列? 9 } 10 br.close(); 11 } catch (IOException e) { 12 System.out.println("入出力エラー"); 13 } catch (NumberFormatException e) { 14 System.out.println("フォーマットエラー"); 15 } 16 17 }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。