シンプルなアダプターにロードしているハッシュマップがあります
public static ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();
....
musiclist = (TextView) getView().findViewById(R.id.checkTextView);
filelv = (ListView)getView().findViewById(R.id.FileList);
filelv.setItemsCanFocus(false);
filelv.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE);
//if (trackcount>previousTrackCount){
ListAdapter playlistadapter = new SimpleAdapter(getActivity().getApplicationContext(), songsList, R.layout.file_view,
new String[] { "songTitle","songAlbum", "songPath" }, new int[] { R.id.checkTextView, R.id.text2, R.id.text3 });
filelv.setAdapter(playlistadapter);
これは完全に機能し、リストビューに 3 つの値がすべて表示されます。
ただし...各リスト項目の2行目が以下のようになるように文字列を連結できるようにしたい
songAlbum(ソングアーティスト)
例: There is Noting Left to Lose (Foo Fighters)
ListAdapter を次のように変更すると、2 行目が空白になります
ListAdapter playlistadapter = new SimpleAdapter(getActivity().getApplicationContext(), songsList, R.layout.file_view,
new String[] { "songTitle","songAlbum" + "(" + "songArtist" + ")", "songPath" }, new int[] { R.id.checkTextView, R.id.text2, R.id.text3 });
すべての文字列をテストして、データが含まれていることを確認しました。
提案してください!