我已经从我的 MainFragment 传递到我的适配器列表:
viewModelAppe.getResponseLiveDataCombinedResult().observe(getActivity(),
combinedResult -> mainAdapter.setProjectList(combinedResult.getArtistsWithPhoto()
)) ;
我在适配器中的方法:
private List<Pair<String,String>> localList = Collections.emptyList();
public void setProjectList (final List<Pair<String,String>> list ){
if (list != null){
localList = list;
notifyDataSetChanged();
}else {
Log.v("LOGer","isssue in adapter");
}
}
我的班级组合结果
公共类组合结果 {
List<Pair<String,String>> perfectMapNameAndFoto; private final RootiTune ituneResult; private final RootLastFm lastFmResult; public CombinedResult(RootiTune ituneResult, RootLastFm lastFmResult) { this.ituneResult = ituneResult; this.lastFmResult = lastFmResult; } public List<Pair<String,String>> getArtistsWithPhoto () { perfectMapNameAndFoto = new ArrayList<>() ; if (ituneResult.getListSongs() != null){ for (ResultiTune item : ituneResult.getListSongs() ){ perfectMapNameAndFoto.add(new Pair <String,String> (item.getArtistName(),item.getArtworkUrl100() )); } } if(lastFmResult.getResults().getArtistmatches().getListOfLatsFmArtists() != null) { for (ArtistLastFm item : lastFmResult.getResults().getArtistmatches().getListOfLatsFmArtists()) perfectMapNameAndFoto.add(new Pair<String, String>(item.getName(), item.getUrl())); } return perfectMapNameAndFoto; }
}
和方法:
@BindingAdapter("setName")
public static void setName (@NonNull TextView textView, Pair <String,String> value, CombinedResult name){
name.getArtistsWithPhoto();
List<Pair<String, String>> valuePair = name.getArtistsWithPhoto();
textView.setText(String.valueOf(valuePair));
}
问题:
我的问题是我不知道如何从第一个字符串中提取数据
List<Pair<String,String>
第一个字符串包含我想在 recyclerView 的 item_list 中的 textView 中放入的名称,第二个是 foto,在这种情况下是无关紧要的。