我正在创建一个编辑器,在 Android
而对于每一个 类型 ImageView
我正在创建一个 .class
的类型。ImageViews
是以下几种。
private Class<?> popups[] = {
Clock_pop_up.class, TV_kitchen_pop_up.class, Thermometer_pop_up.class, CoffeeMachine_pop_up.class, Fridge_pop_up.class, Oven_pop_up.class, Air_pop_up.class, TV_livingroom_pop_up.class
};
我已经修改了这些班级与 <style>
对于每一个 Intent
它以弹出式对话框的形式显示
问题是这样的。
Intent intent = new Intent(getApplicationContext(), (Class<?>) popups[finalI]);
startActivity(intent);
它正确地显示了弹出式窗口,虽然如果是 .class
重复它自己在网格上,然后我有相同的 "设置",每两个或更多相同的类。
例如
比方说,我添加了一个 Clock_pop_up.class
我设置了 "设置"。小时 至06年和 會議紀要 至05年
那我就加一个 Thermometer_pop_up.class
并设置 "设置"
问题。 如果我再加一个
Clock_pop_up.class
或Thermometer_pop_up.class
,我会得到以前设置的 "设置"
我已经试过了。
Class<?>
但对我来说没有用。有没有其他的方法,我可以创建 instances
的 .class
每次我把 ImageView
在电网上?有什么其他的解决办法吗?
编辑: 我必须提到我使用的是 static
领域中 .class
我设法通过添加一个 "类 "来实现 HashMap
对象进入每个 PopUp.class
每当有一个新的Object时,都会进行映射。
例如
新的时钟对象。
import java.io.Serializable;
public class Clock implements Serializable {
private String hour;
private String minute;
private String condition;
public Clock(String hour, String minute,String condition) {
this.hour = hour;
this.minute = minute;
this.condition=condition;
}
public Clock() {
}
public String getHour() {
return hour;
}
public void setHour(String hour) {
this.hour = hour;
}
public String getMinute() {
return minute;
}
public void setMinute(String minute) {
this.minute = minute;
}
@Override
public String toString() {
return "Test{" +
"hour='" + hour + '\'' +
", minute='" + minute + '\'' +
'}';
}
public String getCondition() {
return condition;
}
public void setCondition(String condition) {
this.condition = condition;
}
}
而在 Clock_pop_up.class
我创建了 HashMap
像这样的对象。
public static HashMap<String, Clock> currentObject = new HashMap<>();
所以对于每个 PopUp.class
我有一个 HashMap
对于每一个 Object
在GridLayout上,之后我可以收集我所有的 Objects
经由 HashMap