将 EditText 添加到哈希映射 android

Add EditText to hash map android

您好,我正在寻找一些关于如何将 2 个单独的 edittext 值添加到哈希映射的建议。

基本上,我在一个编辑文本中有一个项目的名称,在下一个编辑文本中有项目的价格。 我想单击添加并将两个值存储在一起。

我的目标是将这些详细信息添加到微调器中,当它被选中时,我可以显示与其关联的值。

如果可能的话,我只是在寻找一些方向,我可以将一个哈希映射条目添加到微调器,但我无法一次添加两个连接的值

为什么不创建一个新的 class 项目,将项目名称和价格这两个属性放入其中,然后创建此 class 的哈希映射。 您的 class 应如下所示:

public class Item{
private String itemName;
private String itemPrice;//or put an integer instead.
public Item (String n, String p){
this.itemName = n;
this.itemPrice =p;
}
EditText itemNameInput, itemPriceInput;

HashMap<Integer, String> inputMap = new HashMap<>();

public void onAddClicked() {
  String itemName = itemNameInput.getText().toString();
  String itemPrice = itemPriceInput.getText().toString();

  inputMap.put(itemNameInput.getId(), itemName);
  inputMap.put(itemPriceInput.getId(), itemPrice);

  // iterate over hashmap -> arrayadapter backing spinner
}

但是为什么需要哈希图?您希望在单击微调器后能够查找 EditText 吗?您可能最好只是连接名称和价格 (String spinnerItemOne = itemName + " " + itemPrice;),然后将其提供给微调器的数组适配器。如果需要,您可以使用散列图,例如,将焦点发送回 itemNameInput。我只是使用了 id 因为我不知道更多关于你想要做什么:你也可以使用实际的编辑文本作为键(只是不要泄露它们)。最后一点,如果你只做这对,这很重要,但你可以使用 SparseArray 而不是 hashmap 来提高效率。