Просто используйте библиотеку url.js (для web и node.js).
https://github.com/websanova/js-url
url: http://example.com?param=test#param=again
url('?param'); // test
url('#param'); // again
url('protocol'); // http
url('port'); // 80
url('domain'); // example.com
url('tld'); // com
etc...
Один из способов сделать это состоит в том, что вам нужно добавить элементы в этом ArrayList<RequestItem> list
, сделав их статическими в классе адаптера, а не в списке действий, который вы передаете адаптеру, тогда функция notifyDataSetChanged () будет работать, если вы хотите показать изменения в списке в режиме реального времени
Я предлагаю вам использовать уже встроенную библиотеку, чтобы список автоматически обновлялся, когда новые данные помещаются в firebase: проверьте это . Если вы хотите придерживаться пользовательской реализации, сначала определите адаптер в OnCreate
обратный вызов и вызов adapter.notifyDataSetChanged()
каждый раз, когда вы обновляете свои данные. Если вы хотите вставить / обновить / удалить только один элемент из вашего списка, позвоните adapter.notifyItemChanged(position)
из вашего адаптера.
Я настоятельно рекомендую вам перейти на RecyclerView
вместо ListView
в Android (интересное сравнение между ними)
Вы используете addListenerForSingleValueEvent()
, который будет прослушивать только одно значение, а затем останавливаться. Вам нужно использовать addValueEventListener()
.