将 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 来提高效率。
您好,我正在寻找一些关于如何将 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 来提高效率。