Android应用程序中的奇怪地图行为

sebap123

Map在应用程序中遇到了一些奇怪的问题

我有一个对象列表- Table每个对象都有一个字段,其中包含另一个类的对象的映射:

public class Table {

    private Map<Integer, MyObject> objectsMap = new HashMap<Integer, MyObject>();

    public void addToMap(int i, MyObject mOrder)
    {
        objectsMap.put(i, mOrder);
    }

    public MyObject getObject(int poz)
    {
        return objectsMap.get(poz);
    }

}

public class MyObject {

    private int info1;
    private int info2;

    public void setInfo(int i1, int i2)
    {
        this.info1 = i1;
        this.info2 = i2;
    }

    public int[] getInfos()
    {
        return new int[]{this.info1, this.info2};
    }

}

然后在我的主要活动中,我做了一些初始化:

private List<Table> tableList = new ArrayList<Table>();

//...

public void initTableObject(Table myTable)
{
    MyObject newObject = new MyObject();
    newObject.setInfo(1,2);
    myTable.addToMap(1, newObject);
    MyObject newObject = new MyObject();
    newObject.setInfo(3,4);
    myTable.addToMap(2, newObject);
    MyObject newObject = new MyObject();
    newObject.setInfo(5,6);
    myTable.addToMap(3, newObject);
    MyObject newObject = new MyObject();
    newObject.setInfo(7,8);
    myTable.addToMap(4, newObject);
}

问题是当我想检查值时:

for (Table table : tableList) {
    int[] info = table.getObject(4).getInfos();
    Log.d("TAG","4: {" + info[0] + ", " + info[1] + "}");
}

当我有1个Table对象时,一切正常。当我有2个或更多对象时,问题就开始了。如果在进行一些交互后有2个元素(在这种情况下不重要),我会遇到问题。

每次,对象映射中的最后一个对象(即newObject第一个Table对象上的数字4)具有等于2个元素的第一个对象值的值。第二个Table对象及其MyObject对象正常。

我正在尝试所有操作,但看不到其他任何内容,所以这就是我在这里询问的原因。

有人可以告诉我这里发生了什么错误吗?

sebap123

感谢您的评论,我发现了一个错误和解决方案。

实际上,我已经声明了myObject几次,但这是因为,如果不这样,则在将addToMap()方法添加到映射中时,此值是错误的但是,结果表明,此声明是错误的,当我将其添加到上述方法中的地图时,我需要直接执行此声明,因此现在看起来像这样:

public void addToMap(int i, MyObject mOrder)
{
   objectsMap.put(i, new MyObject(mOrder));
}

另外,我需要在MyObject类中添加适当的构造函数。现在,它运行良好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Kafka Streams应用程序在Docker容器中的奇怪行为

Web应用程序中RandomStringUtils.random的奇怪行为

奇怪的应用程序图标行为

地图行为类似于Google Maps应用程序中的行为

Android应用程序中的listview中的奇怪故障

Android应用程序中的图像获取奇怪的背景渐变

在 Android 应用程序中更改地图类型

流星应用程序和数据库中的奇怪行为

覆盖部署为 Tomcat 中的 WAR 的 spring-boot 应用程序的属性时的奇怪行为

Ubuntu 16.04启动应用程序的奇怪行为

审查后应用程序行为奇怪是为什么?

Swift应用程序关闭时具有奇怪的行为

UISwipeGestureRecognizer - 微冻结应用程序的奇怪行为

WPF应用程序访问Web API的奇怪行为

离线地图应用程序开发Android

Android SQLite:应用程序的模糊行为

Laravel应用程序中的站点地图

在FF应用程序中使用在iframe中运行的“ replaceWith”在Ember应用中出现“ history.back”的奇怪行为

Android-奇怪的应用程序小部件行为:有时会自身擦除其内容

MapmyIndia 地图徽标在 android 应用程序中的自定义位置

在android中在片段内使用地图时,应用程序后退时崩溃了?

Google Map Android API v2无法在Play商店应用程序中显示地图

如何在我的Google地图应用程序(Android)中检查Internet连接

如何解决 http 和站点行为:Android 应用程序中的导航错误?

Worklight 5.0.6-混合应用程序在不同Android手机中的意外行为

我可以在Android应用程序中启用类似鼠标/桌面的文本选择行为吗?

Firestore whereEqualto() 在 Android 应用程序中查询的错误行为

从我的 Android 应用程序收到奇怪/可疑的崩溃报告

应用程序启动地图活动后,如何立即在android中的地图中显示我当前的位置