Android: DummyData Arraylist - PullRequest
       4

Android: DummyData Arraylist

0 голосов
/ 11 декабря 2018

Итак, я пытаюсь получить некоторые данные из DummyClass для заполнения списков, но я не уверен в том, как здесь работает метод createDummyItem, потому что он выдает ошибку, но я не понимаю, как это исправить?

 package com.example.macbook.mobiledevelopment.dummy;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Helper class for providing sample content for user interfaces created by
 * Android template wizards.
 * <p>
 * TODO: Replace all uses of this class before publishing your app.
 */
public class DummyContent {

    /**
     * An array of sample (dummy) items.
     */
    public static final List<DummyItem> ITEMS = new ArrayList<DummyItem>();

    /**
     * A map of sample (dummy) items, by ID.
     */
    public static final Map<String, DummyItem> ITEM_MAP = new HashMap<String, DummyItem>();

    private static final int COUNT = 25;

    static {
        // Add some sample items.
        for (int i = 1; i <= COUNT; i++) {
            addItem(createDummyItem(i));
        }
    }

    private static void addItem(DummyItem item) {
        ITEMS.add(item);
        ITEM_MAP.put(item.id, item);
    }

    private static DummyItem createDummyItem(int position) {
       return new DummyItem(String.valueOf(position), "Item " + position, makeDetails(position));
    }

    private static String makeDetails(int position) {
        StringBuilder builder = new StringBuilder();
        builder.append("Details about Item: ").append(position);
        for (int i = 0; i < position; i++) {
            builder.append("\nMore details information here.");
        }
        return builder.toString();
    }

    /**
     * A dummy item representing a piece of content.
     */
    public static class DummyItem implements Serializable {
        public static final int Content = 0;
        public final String id;
        public final String content;
        public final String details;
        public final String restaurantName;
        public final String foodType;
        public final String address;

        public DummyItem(String id, String content, String details, String restaurantName, String foodType, String address) {
            this.id = id;
            this.content = content;
            this.details = details;
            this.restaurantName = restaurantName;
            this.foodType = foodType;
            this.address = address;
        }

        @Override
        public String toString() {
            return content;
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Проверьте с вашим DummyItem конструктором.Требуется еще несколько полей restaurantName, foodType, address вместе с другими.

Попробуйте передать эти значения вместе с другими полями при создании фиктивного элемента createDummyItem().

return new DummyItem(String.valueOf(position), "Item " + position, makeDetails(position),
                getRestaurantName(position), getFoodType(position), getAddress(position));


private static String getRestaurantName(int position) {
    return "Restaurant: "+position;
}

private static String getFoodType(int position) {
    return "FoodType: "+position;
}
private static String getAddress(int position) {
    return "Address: "+position;
}
0 голосов
/ 11 декабря 2018

Измените ваше тело createDummyItem с логикой, которая вам нужна.Конструктор DummyItem принимает 6 параметров (идентификатор строки, содержимое строки, подробности строки, имя ресторана restaurant, String foodType, адрес строки)

   private static DummyItem createDummyItem(int position) {
    return new DummyItem(String.valueOf(position), "Item " + position, makeDetails(position), 
            "your_restaurant_name_here", "your_food_type_here", "your_address_here");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...