2

マスター ディテール テーマを使用して新しい Android プロジェクトを作成すると、ダミーの静的データを含むクラス DummyContent が取得されます。

package com.test.masterdetail.dummy;

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 List<DummyItem> ITEMS = new ArrayList<DummyItem>();

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

    static {
        // Add 3 sample items.
        addItem(new DummyItem("1", "Item 1", "http://www.yahoo.com"));
        addItem(new DummyItem("2", "Item 2", "http://www.fb.com"));
        addItem(new DummyItem("3", "Item 3", "http://www.google.com"));
    }

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

    /**
     * A dummy item representing a piece of content.
     */
    public static class DummyItem {
        public String id;
        public String content;
        public String url;

        public DummyItem(String id, String content, String url) {
            this.id = id;
            this.content = content;
            this.url = url;
        }

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

しかし、データベースから提供するこのデータを静的から動的に変更する方法がわかりません。誰でも私にいくつかの指針を与えることができますか?

4

1 に答える 1

0

この方法を使用してコンテンツを追加できます。

/**
 * call the method setContext from my main activity at the beginning of the onCreate method, before any other operation.
 */
public static void setContext() {
    addItem(new DummyItem(var1, var2, var3,...));
}

ただし、notifyDataSetChanged を呼び出すことを忘れないでください。

// Update the list of the fragment
((YourListFragment) getSupportFragmentManager().findFragmentById(R.id.your_fragment_id)).notifyDataSetChanged();

電話した直後:

DummyContent.setContext();
于 2013-09-17T13:21:04.337 に答える