2015-04-02 2 views
0

Привет, Я просто ищу некоторые советы о том, как подойти к добавлению 2 отдельных значений edittext в хэш-карту.Добавить EditText в hash map 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;), а затем подачи этого адаптера массива вашего счетчика. Вы можете использовать hashmap, если вам нужно, например, отправить фокус обратно в itemNameInput. Я просто использовал идентификатор, так как не знаю больше о том, что вы пытаетесь сделать: вы также можете использовать тексты редактирования как ключи (просто не просачивайте их). В заключение обратите внимание, что это важно, если вы делаете только эту пару, но для большей эффективности вы можете использовать SparseArray вместо хэшмапа.

+0

Предложение Anix Pasbesoin является хорошим, особенно для подачи адаптера, поддерживающего счетчик. –

Смежные вопросы