当前位置: 代码迷 >> java >> HashMap android不会在android中被调用
  详细解决方案

HashMap android不会在android中被调用

热度:52   发布时间:2023-07-25 19:31:05.0

我正在使用HashMap将值放入数据库中。 我正在这样使用它:

HashMap<String, String> queryValuess = new HashMap<>();
String premiu1 = String.valueOf(p1);
queryValuess.put("p1", premiu1.toString());

当我将其放入函数中时,此功能可以正常工作:

private void Premii10(int test) {
    HashMap<String, String> queryValuess = new HashMap<String, String>();

    p1=5;

    String premiu1=String.valueOf(p1);
    queryValuess.put("p1", premiu1.toString());
}

我尝试调用它,例如,在按钮中单击,如下所示:

button click event {
    Premii10();
}

它被调用,但queryValuess.put()不起作用。 我知道它正在被调用,因为我已经显示了一条吐司消息并且正在工作。 您是否知道为什么HashMap无法以这种方式工作?

// Not a local variable
Map<String, String> queryValuess = new HashMap<String, String>();

private void Premii10(Map<String, String> map) {
    p1 = 5;
    String premiu1 = String.valueOf(p1);
    map.put("p1", premiu1.toString());
}

// Use it like this
button click event {
    Premii10(queryValuess);
}

在您的点击事件中

{
 Premii10();
}

但是你的方法

private void Premii10(int test)
 {
  HashMap<String, String> queryValuess = new HashMap<String, String>();
  p1=5;
  String premiu1=String.valueOf(p1);
  queryValuess.put("p1", premiu1.toString());
  }

它期望一个类型为int的参数

将您的方法调用更改为

Premii10(1);

现在应该可以工作了。

  相关解决方案