Я пытаюсь создать повторное представление с четырьмя типами просмотра, каждый тип представления будет представлять определенные данные, мое приложение предназначено для премьер-лиги (футбол), поэтому у меня есть тип просмотра для целей, желтой и красной карточки, каждая строка поставляется свремя забить гол или получить желтую карточку и красную карточку, я пытаюсь применить некоторую логику, но это не работает для меня
//Splitting Strings
String[] homeg = hometiming.split(";");
String[] homeyello = homeyellow.split(";");
String[] homere = homered.split(";");
for (String h : homeg) {
if (!h.equals("")) {
int subgoals = Integer.parseInt(h.substring(0, 1));
for (String y : homeyello) {
if (!y.equals("")) {
int subYellow = Integer.parseInt(y.substring(0, 1));
for (String n : homere) {
if (!n.equals("")) {
int subRed = Integer.parseInt(n.substring(0, 1));
/// if goals time is smaller than time of yellow and rec card , show
/// goals
if (subgoals < subYellow && subgoals < subRed) {
GoalsItem goalsItem = new GoalsItem();
goalsItem.setHomegoals("goals :" + h + "\n");
consolidatedlist.add(goalsItem);
}
/// if yellow cards time is smaller than time of goals and red cards ,
/// show yellow cards
else if (subYellow < subgoals && subYellow < subRed) {
YellowItems yellowItems = new YellowItems();
yellowItems.setHomeyellow("yellow :" + y + "\n");
consolidatedlist.add(yellowItems);
}
/// if red card time is smaller than time of goals and yellow cards ,
/// show red cards
else if (subRed < subgoals && subRed < subYellow) {
RedItems redItems = new RedItems();
redItems.setHomered("red : " + n + "\n");
consolidatedlist.add(redItems);
} } } } } } }
- третье: это мой apdapter на bindviewholder
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
switch (holder.getItemViewType()) {
case TypeItem.TYPE_PHOTO:
PhotoItem photoItem = (PhotoItem) list.get(position);
ViewPhoto viewphoto = (ViewPhoto) holder;
viewphoto.date.setText("" + photoItem.getDate());
Picasso.with(context).load(photoItem.getPhoto()).fit().into(((ViewPhoto) holder).photo);
break;
case TypeItem.TYPE_Goals:
GoalsItem goalsItem = (GoalsItem) list.get(position);
ViewGoals viewgoals = (ViewGoals) holder;
viewgoals.homegoals.setText("" + goalsItem.getHomegoals());
viewgoals.awaygoals.setText("" + goalsItem.getAwaygoals());
break;
case TypeItem.TYPE_Yellow:
YellowItems yellowItems = (YellowItems) list.get(position);
ViewYellow viewyellow = (ViewYellow) holder;
viewyellow.homeyellow.setText("" + yellowItems.getHomeyellow());
viewyellow.awayyellow.setText("" + yellowItems.getAwayyellow());
break;
case TypeItem.TYPE_RED:
RedItems redItems = (RedItems) list.get(position);
ViewRed viewred = (ViewRed) holder;
viewred.homered.setText("" + redItems.getHomered());
viewred.awayred.setText("" +redItems.getAwayred());
break;
}
}
- это образец json, который я использую для большей ясности
"strHomeGoalDetails":"",
"strHomeRedCards":"",
"strHomeYellowCards":"13':Luka Milivojevic;",
"strAwayRedCards":"",
"strAwayYellowCards":"47':Raheem Sterling;",
"strAwayGoalDetails":"39':Gabriel Jesus;41':David Silva;",