0
@hmjd的答案here帮助我设置多个对象的文本。但我现在遇到了一个问题。日期可以有多个事件,我想在同一事件详细信息页面上显示所有事件及其详细信息。我怎样才能做到这一点?返回多个日历事件
代码:
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");
}
添加事件到ArrayList,然后相应地处理该ArrayList里面每个事件? –
adchilds
2012-07-09 19:13:06
@adchilds,我做到了。 //事件详细信息 public ArrayList eventDetails(int m,int d){ \t ArrayList events = new ArrayList (); 开关(M){ \t \t \t如果(d == 15){ \t \t \t \t events.add(新事件( “事件1”, “EVENTTITLE”, “event_Details”)); (新事件(“event2”,“eventtitle”,“event_Details”)); \t \t \t \t返回事件; \t \t \t} break;我在调用eventDetails函数的时候抛出一个错误:'final Event e = eventDetails(m,d);'错误:'类型不匹配:不能从ArrayList to HijriEvents.Event' –
input
2012-07-09 19:50:49
错误告诉你到底发生了什么问题。您试图将eventDetails的返回类型(它返回Event类型的ArrayList)存储到正常的Event中。您不能将ArrayList存储到事件中。另外,你的switch语句现在不做任何事情(在刚刚提供的代码中,原始文章中没有问题)? 最终事件e 应该是ArrayList类型。然后你可以从该ArrayList中提取每个事件。 – adchilds 2012-07-10 14:15:56