Добавить список в ArrayList <String> и показать в ListView

Я хочу создать ListView с момента, когда я получаю от TimePicker ' Мне удалось добавить время в переменную. но когда я пытаюсь добавить их в ListView, я ничего не получаю.

    addArray = new ArrayList<String>();
    ArrayAdapter<String> adapter = new ArrayAdapter(chart_houres_cosher.this,android.R.layout.simple_list_item_1,addArray);
    ListView listView = (ListView) findViewById(R.id.leassons);
    listView.setAdapter(adapter);

Нажата кнопка

    textView.setText( firstHouer + " : " + firstdMinute + " - " + seccoundHouer + " : " + seccoundMinute );
    addArray.add(firstHouer + " : " + firstdMinute + " - " + seccoundHouer + " : " + seccoundMinute);

Я вижу результат в TextView, но не в ListView.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
75
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

После изменения данных адаптера вы должны вызвать notifyDataSetChanged(), чтобы увидеть эффекты в виде списка.

textView.setText( firstHouer + " : " + firstdMinute + " - " + seccoundHouer + " : " + seccoundMinute );
addArray.add(firstHouer + " : " + firstdMinute + " - " + seccoundHouer + " : " + seccoundMinute);
addArray.notifyDataSetChanged();
//^^^^^^^^^^^^^^^^^^^
// once adapter is linked and later data source is modified , notify it
// only then adapter go though the data source 
//and update the listView/RecyclerView accordingly

@Mayli Plus, зачем снова использовать одну и ту же конкатенацию строк в addArray.add(), когда вы можете использовать addArray.add(textView.getText()) или поскольку конкатенацию строк даже не рекомендуется использовать с setText(), установите для нее временную строку и передайте ее как setText(), так и add().

Lalit Fauzdar 12.08.2018 09:53

А где твои данные? Из вашего кода вы пытаетесь добавить пустой массив.

addArray = new ArrayList<String>();

Вы просто объявляете addArray, в нем нет никаких данных. И вы добавляете пустой массив в ListView.

Другие вопросы по теме