2015-04-02 99 views
0

嗨,我只是寻找一些建议,如何处理添加2个独立的编辑文本值到哈希映射。添加EditText到哈希映射android

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

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

我只是在寻找,如果这是可能的一些方向,我能一个哈希映射条目添加到微调,但我有一次

回答

3

麻烦添加两个相连的值为什么不创建一个新类项目在其中您将这两个属性的项目名称和它的价格,然后创建一个这个类的哈希映射。 您的类应该是这样的:

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; 
} 
0
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 
} 

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

+0

Anix Pasbesoin的建议是一个很好的建议,特别是喂养支持旋转器的适配器。 – 2015-04-02 17:24:08