Pull to refresh

Comments 16

Мысль интересная! Для длинных путей, можно сделать горизонтальную прокрутку.
Даже уже вижу два пути решения: попроще, быстрее, но некрасиво, и второй — чуть заморочено. Попытаюсь сначала вторым способом, но если не выйдет – сделаю первым.

P.S. Плюсануть, к сожалению, не могу!
Для кого-то особенно рьяного: я не просил прибавить мне кармы, я констатировал факт!
Иногда самому писать, просто нет времени. Я использую либо установленные файловые менеджеры, либо вот эту либу (уже все зависит от тз)

aFileChooser — Android File Chooser
"… Because many Android devices don't have stock File Explorers, the developer must often instruct the user to install one, or build one, themselves. aFileChooser solves this issue."

github.com/iPaulPro/aFileChooser
Спасибо за еще одно решение! Но, как и в Android File Dialog сделано через отдельную activity, а хочется, чтобы и вызов и результат были в одном месте.
Цвет выделения файла в зависимости от выбранной пользователем темы.

Вместо ручной установки цвета фона в getView() используйте setSelected():
view.setSelected(selectedIndex == position);

Кликать по заголовку для того, чтобы перейти на уровень вверх — ИМХО не лучшее решение, пользователь вряд ли догадается (я вот только из кода понял, как это сделать). Лучше просто добавлять в начало списка элемент с тремя точками в названии, или стрелку вверх, как в тотале.

Опять же, я так и не понял зачем нужно устанавливать CHOICE_MODE_SINGLE

Он нужен для того, чтобы пользоваться встроенным фукнционалом выделения, а не вручную подсвечивать элементы в getView(). Например, через ListView.setItemChecked().

И да, использовать «сырые» диалоги — не лучший, на мой взгляд подход. Посмотрите в сторону DialogFragment.
Кликать по заголовку для того, чтобы перейти на уровень вверх — ИМХО не лучшее решение, пользователь вряд ли догадается (я вот только из кода понял, как это сделать). Лучше просто добавлять в начало списка элемент с тремя точками в названии, или стрелку вверх, как в тотале.

Кликать надо не по заголовку, а по TextView расположенном над ListView. Получается «как в тотале» и он (TextView) всегда на виду не зависимо от прокрутки в списке (добавил screenshot для наглядности).
Спасибо за разъяснения и совет! Посмотрю в сторону DialogFragment.
TextView — это элемент отображения данных, но никак не ввода и не управления. Если хотите держать пункт «вверх» отдельно от списка — используйте кнопки.
Да, спасибо: переделал – стало лучше. Выложу новую версию, когда доделаю все запланированные изменения.
Хм, setSelected не устанавливает цвет подсветки!
Scogun, на мой взгляд, Вы зря отказываетесь от Activity — так вы получите больше свободного места на устройствах с маленьким экраном, если захотите отображать не только название папки/файла, но и дополнительную информацию о файле.

Под спойлерами пример того, что было у меня и как я это улучшил. Код во многом соответствует коду, который Вы привели.
Было (PNG, 40КБ)
image

Стало (PNG, 42КБ)
image


Прошу прощения за сторонний хостинг картинок, что-то странное творится с HabraStorage
Не находил его при поиске, и опять же: отдельная библиотека и вызов через activity. Но все равно спасибо за информацию!
Зато пользователь при желании сможет поставить себе любое приложение для выбора файлов.
Как достучаться до встроенного listview я не нашел

Вообще-то у ListActivity есть метод getListView()
Да, в переопределенном show его таким образом действительно можно получить, но нам все равно нужен LinearLayout чтобы еще разместить и кнопку «Назад». Немного перефразирую текст. Спасибо!
Sign up to leave a comment.

Articles