我创建一个编辑器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
将新对象添加到每个映射中,我设法做到了。
例如:
新时钟对象:
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
在网格布局事后我可以收集所有我Objects
通过HashMap
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句