Android 如何向RecyclerView显示嵌套HashMap对象?
我有一个习惯尝试向RecyclerView显示数据。实际上,我想将3个不同的对象从不同的HashMap显示到一个RecyclerView,但如果我知道如何使用1,它可能会得到如何使用1 json的格式我必须使用HashMaps。过来看 在您使用的地方,可以看到圆形的颜色,这是我需要的数据 现在我不知道我是否把模型类弄错了,但是下面是它们,它们可以工作,因为我可以得到正确的数据显示在日志文件中,我只是不知道如何将其放入回收器视图我删除了模型类电影类中的一些信息,因为你可以看到它们并不重要,只会使页面变长Android 如何向RecyclerView显示嵌套HashMap对象?,android,hashmap,android-recyclerview,Android,Hashmap,Android Recyclerview,我有一个习惯尝试向RecyclerView显示数据。实际上,我想将3个不同的对象从不同的HashMap显示到一个RecyclerView,但如果我知道如何使用1,它可能会得到如何使用1 json的格式我必须使用HashMaps。过来看 在您使用的地方,可以看到圆形的颜色,这是我需要的数据 现在我不知道我是否把模型类弄错了,但是下面是它们,它们可以工作,因为我可以得到正确的数据显示在日志文件中,我只是不知道如何将其放入回收器视图我删除了模型类电影类中的一些信息,因为你可以看到它们并不重要,只会使
public class Movie implements Parcelable {
@SerializedName("pid")
String movieId;
@SerializedName("idioma")
HashMap<String, MovieLanguage> movielanguages;
public Movie() {
}
public Movie(String movieId, HashMap<String, MovieLanguage> movielanguages) {
this.movieId = movieId;
this.movielanguages = movielanguages;
}
public String getMovieId() {
return movieId;
}
public void setMovieId(String movieId) {
this.movieId = movieId;
}
public HashMap<String, MovieLanguage> getMovieLanguage() {
return movielanguages;
}
public void setMovieLanguage(HashMap<String, MovieLanguage> movielanguages) {
this.movielanguages = movielanguages;
}
下面是我在活动中使用的代码,用于获取需要显示的正确信息的日志。我只需要有人指出/帮助我正确的方向,以便在回收视图中显示它们
for (Map.Entry<String, MovieLanguage> entry : mymovie.getMovieLanguage().entrySet()){
HashMap<String, MovieFormat> movieformatw = entry.getValue().getMovieFormat();
for (Map.Entry<String, MovieFormat> entry2 : movieformatw.entrySet()) {
HashMap<String, MovieDate> moviedatesw = entry2.getValue().getMovieDate();
Log.d("Header", entry.getKey()+ " " + entry2.getKey());
for (Map.Entry<String, MovieDate> entry3 : moviedatesw.entrySet()){
HashMap<String, MovieFunction> moviefunctionsw = entry3.getValue().getMovieFunction();
if(entry3.getKey().contains(today)){
// checks if date is today and display data
for(Map.Entry<String, MovieFunction> entry4 : moviefunctionsw.entrySet()){
Log.d("movietimes ", "" + entry4.getValue().getFunctionTime());
}
}
else{
// there are currently no movie for today do nothing
}
}
}
}
也许这个图书馆对你有帮助。也许这个图书馆对你有帮助。
public class MovieFormat implements Parcelable {
@SerializedName("fechas")
HashMap<String, MovieDate> moviedates;
public HashMap<String, MovieDate> getMovieDate() {
return moviedates;
}
public void setMovieDate(HashMap<String, MovieDate> moviedates) {
this.moviedates = moviedates;
}
public class MovieFunction implements Parcelable {
@SerializedName("session-status")
String functionStatus;
@SerializedName("session-time")
String functionTime;
public String getFunctionStatus() {
return functionStatus;
}
public void setFunctionStatus(String functionStatus) {
this.functionStatus = functionStatus;
}
public String getFunctionTime() {
return functionTime;
}
public void setFunctionTime(String functionTime) {
this.functionTime = functionTime;
}
for (Map.Entry<String, MovieLanguage> entry : mymovie.getMovieLanguage().entrySet()){
HashMap<String, MovieFormat> movieformatw = entry.getValue().getMovieFormat();
for (Map.Entry<String, MovieFormat> entry2 : movieformatw.entrySet()) {
HashMap<String, MovieDate> moviedatesw = entry2.getValue().getMovieDate();
Log.d("Header", entry.getKey()+ " " + entry2.getKey());
for (Map.Entry<String, MovieDate> entry3 : moviedatesw.entrySet()){
HashMap<String, MovieFunction> moviefunctionsw = entry3.getValue().getMovieFunction();
if(entry3.getKey().contains(today)){
// checks if date is today and display data
for(Map.Entry<String, MovieFunction> entry4 : moviefunctionsw.entrySet()){
Log.d("movietimes ", "" + entry4.getValue().getFunctionTime());
}
}
else{
// there are currently no movie for today do nothing
}
}
}
}
D/header: Subt Spanish DBOX-2D
D/movietimes: 7:00PM
D/movietimes: 9:30PM
D/movietimes: 4:30PM
D/movietimes: 2:00PM
D/header: Subtitulada DBOX-2D
D/movietimes: 7:00PM
D/movietimes: 9:30PM
D/movietimes: 4:30PM
D/movietimes: 2:00PM
D/header: DBOX DBOX-2D
D/movietimes: 7:00PM
D/movietimes: 9:30PM
D/movietimes: 4:30PM
D/movietimes: 2:00PM