下の画像のようなMainActivityで表示されるTodolistに
"title"(タイトル), "content"(内容),"data"(期限)のうち"title","content"の2つしか表示させることができないのですが、data(期限)を表示させるには、どうすればいいのでしょうか?
//itemを読み込む
java
1 // ListView 用アダプタ 2 SimpleAdapter mAdapter = null; 3 // ListView に設定するデーた 4 List<Map<String, String>> mList = null; 5 6 7 @Override 8 protected void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 setContentView(R.layout.activity_main); 11 12 // ListView 用アダプタのリストを生成 13 mList = new ArrayList<Map<String, String>>(); 14 15 // ListView 用アダプタを生成 16 17 mAdapter = new SimpleAdapter( 18 this, 19 mList, 20 android.R.layout.simple_list_item_2, 21 new String [] {"title", "content","data"}, 22 new int[] {android.R.id.text1, android.R.id.text2} 23 ); 24 25 // ListView にアダプターをセット 26 ListView list = (ListView)findViewById(R.id.listView); 27 list.setAdapter(mAdapter); 28 29 // ListView のアイテム選択イベント 30 list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
java
1 protected void onResume() { 2 super.onResume(); 3 4 // ListView 用アダプタのデータをクリア 5 mList.clear(); 6 7 // アプリの保存フォルダ内のファイル一覧を取得 8 String savePath = this.getFilesDir().getPath().toString(); 9 File[] files = new File(savePath).listFiles(); 10 // ファイル名の降順でソート 11 Arrays.sort (files, Collections.reverseOrder()); 12 // テキストファイル(*.txt)を取得し、ListView用アダプタのリストにセット 13 for (int i=0; i<files.length; i++) { 14 String fileName = files[i].getName(); 15 if (files[i].isFile() && fileName.endsWith(".txt")) { 16 String title = null; 17 String content = null; 18 String data=null; 19 20 // ファイルを読み込み 21 try { 22 // ファイルオープン 23 24 25 26 InputStream in = this.openFileInput(fileName); 27 BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); 28 // タイトル(1行目)を読み込み 29 title= reader.readLine(); 30 31 32 // 内容(2行目以降)を読み込み 33 /**char[] buf = new char[(int)files[i].length()]; 34 int num = reader.read(buf); 35 content = new String(buf, 0, num); 36 **/ 37 38 content = reader.readLine(); 39 40 data=reader.readLine(); 41 42 43 // ファイルクローズ 44 reader.close(); 45 in.close(); 46 } catch (Exception e) { 47 Toast.makeText(this, "error", Toast.LENGTH_LONG).show(); 48 } 49 50 // ListView用のアダプタにデータをセット 51 Map<String, String> map = new HashMap<String, String>(); 52 map.put("filename", fileName); 53 map.put("title", title); 54 map.put("content", content); 55 map.put("data",data); 56 mList.add(map); 57 } 58 }
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2017/04/03 02:43
2017/04/03 09:59
2017/04/03 10:27
2017/04/03 10:45
2017/04/03 10:50
2017/04/03 12:32