首页 > 解决方案 > Android:虚拟数据数组列表

问题描述

所以我试图从 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;
        }
    }
}

标签: androidlist

解决方案


使用您需要的逻辑更改您的 createDummyItem 主体。DummyItem 构造函数接受 6 个参数(String id、String content、String details、String restaurantName、String foodType、String address)

   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");
}

推荐阅读