如何在android studio中为每个意图启动一个新的类实例

问题描述 投票:2回答:1

我正在创建一个编辑器,在 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年

enter image description here

那我就加一个 Thermometer_pop_up.class 并设置 "设置"

enter image description here

问题。 如果我再加一个 Clock_pop_up.classThermometer_pop_up.class ,我会得到以前设置的 "设置"

enter image description here

我已经试过了。

有没有其他的方法,我可以创建 instances.class 每次我把 ImageView 在电网上?有什么其他的解决办法吗?

编辑: 我必须提到我使用的是 static 领域中 .class

java android instance
1个回答
0
投票

我设法通过添加一个 "类 "来实现 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

© www.soinside.com 2019 - 2024. All rights reserved.