2015-04-14 6 views
-3

Я пытаюсь добавить числа в последовательности. Я имею в виду, чтобы они были рядом друг с другом. Например, я хочу иметь цифровую клавиатуру и когда пользователь вводит цифру, он добавит ее в поле дисплея и т. Д.Добавить номер в последовательности (TextView)

Например, 1738 Пользовательский ключ 1, 7, 3, 8 .

Оттуда я добавлю это значение как в строку, так и в строку TextView. Я просто хочу, чтобы каждый номер находился рядом друг с другом, когда человек нажал кнопку.

спасибо.

+0

Какой код вы пробовали? –

+0

stack = stack + "1"; но вместо этого отображает 1 вместо 1111, когда я нажимаю 4 раза. Я предпочел бы использовать double вместо этого вместо String. –

+0

Отправьте код .. –

ответ

0

Я думаю, что вы уже знаете, как показывать значения в TextView.

В качестве структуры данных есть две возможности, которые вы можете выбрать.

  1. ArrayList
  2. LinkedHashMap

Я хотел бы использовать LinkedHashMap. Он имеет уникальность, поддерживает последовательность и может иметь дополнительные Value.

Чтобы вставить, используйте только метод put, как показано ниже. Поскольку HashMap гарантирует только один ключ, он автоматически обнаруживает дубликаты и перезаписывает их на новый.

LinkedHashMap<String, Date> hashMap = new LinkedHashMap<>(); 
hashMap.put("1", new Date()); // last updated timestamp is placed as a value. 

Для того чтобы получить введенное значение по индексу, используйте способ, как указано ниже.

public String indexOf(int position){ 
    return (String) hashMap.keySet().toArray()[position]; 
} 

Чтобы отобразить в TextView, используйте метод ниже для каждого нажатия клавиши.

String output; 
for(int i=0; i < hashMap.size(); i++) 
{ 
    output += hashMap.keySet().toArray()[i]; 
    if(i < hashMap.size()-1) 
     output += ", "; 
} 
textViewOutput.setText(output); 
Смежные вопросы