0

@hmjdによるここでの回答は、複数のオブジェクトのテキストを設定するのに役立ちました。しかし、私は今問題に遭遇しました。日付には複数のイベントを含めることができます。同じイベントの詳細ページにすべてのイベントとその詳細を表示したいと思います。これどうやってするの?

コード:

public class Event
{
    public final String name;
    public final String title;
    public final String details;

    public Event(final String a_name,
                 final String a_title,
                 final String a_details)
    {
        name = a_name;
        title = a_title;
        details = a_details;
    }
};



final Event e = eventDetails(1, 4);
name.setText(e.name);
title.setText(e.title);
details.setText(e.details);

//event details
public Event eventDetails(int m, int d) {
    switch (m) {
        case 1:
            if (d == 10) {
                return new Event("event1", "my-title1", "mydetails1");
            }
            if (d == 28) {
                 return new Event("event2", "my-title1", "mydetails1");
                 return new Event("event3", "my-title2", "mydetails2"); //add another event on this date; obviously this is not the right way.
            }

            break;

    }

    return new Event("default_my-name2", "default_my-title2", "default_mydetails2");
}
4

1 に答える 1

1

eventDetailsによって返されたイベントを保存するには、次のようにします。

ArrayList<Event> e = new ArrayList<Event>();
e.add(eventDetails(1, 4)); // This adds one event to the ArrayList

次に、ArrayList eに格納されているイベントにアクセスするには、次のようにします。

Event one = e.get(0); // First Event in the ArrayList
Event two = e.get(1); // Second Event in the ArrayList
...
Event n = e.get(n); // nth Event in the ArrayList

明示的に言うのではなく、これを動的にしたい場合はe.get(0)、次のようにArrayListのサイズをループします。

for (int i = 0; i < e.size(); i++)
{
    Event ev = e.get(i);
    ev.doSomething();
    ev.doSomethingElse();
}
于 2012-07-11T14:52:07.570 に答える