所以我正在尝试使用此类模板将项目(必须是静态的)添加到ArrayList: AllEventInformationStatic.java:
await newCoreView.Dispatcher.RunAsync(
CoreDispatcherPriority.Normal,
() =>
{
newAppView = ApplicationView.GetForCurrentView();
Window.Current.Content = new Frame();
(Window.Current.Content as Frame).Navigate(typeof(<your_page>));
Window.Current.Activate();
});
AllEventResponseStatic.java:
Frame
这是填充ArrayList的迭代:
public class AllEventInformationStatic {
public static int id;
public static String name;
public static String type;
public static String date;
public static String desc;
public static String location;
public AllEventInformationStatic(int id, String name, String type, String date, String desc, String location)
{
AllEventInformationStatic.id = id;
AllEventInformationStatic.name = name;
AllEventInformationStatic.type = type;
AllEventInformationStatic.date = date;
AllEventInformationStatic.desc = desc;
AllEventInformationStatic.location = location;
}
}
因此变量名称显示为“bowling”,但name_bis为Null。 似乎它只是在迭代后清除整个arraylist并且我不知道为什么......
如果你知道问题出在哪里?
答案 0 :(得分:0)
假设你的意思是allEventResponseStatic处于循环条件而不是allEventResponse。
AllEventResponseStatic.events = new ArrayList<AllEventInformationStatic>();
在此调用之后,列表的大小为零,因此永远不会调用循环。因此,在循环
之后,您在索引0上获得nullfor (int i = 0; i < allEventResponseStatic.events.size(); i++)
{
AllEventResponseStatic.events.
add(new AllEventInformationStatic(42, "bowling",
"event", "11/12/2015",
"enjoy it", "paris"));
String name = AllEventResponseStatic.events.get(0).name;
}
此外,请研究 static 关键字的作用,因为它在这里没用,并且会导致代码中出现更大的问题。