Очистить связной после передачи значений из одного фрагмента в другой

Я всегда использую:

__location__ = os.path.realpath(
    os.path.join(os.getcwd(), os.path.dirname(__file__)))

вызов join() добавляет текущий рабочий каталог, но в документации говорится, что если какой-то путь является абсолютным, все остальные пути, оставшиеся от него, будут удалены. Поэтому getcwd() отбрасывается, когда dirname(__file__) возвращает абсолютный путь.

Кроме того, вызов realpath разрешает символические ссылки, если они найдены. Это позволяет избежать проблем при развертывании с помощью setuptools в системах Linux (сценарии привязаны к /usr/bin/ - по крайней мере, на Debian).

Вы можете использовать следующее для открытия файлов в одной папке:

f = open(os.path.join(__location__, 'bundled-resource.jpg'));
# ...

Я использую это для объединения ресурсов с несколькими приложениями Django как в Windows, так и в Linux, и он работает как прелесть!

0
задан André Silva 13 July 2018 в 21:41
поделиться

1 ответ

Пожалуйста, используйте метод remove в вашем приеме Fragment (после того, как вам больше не нужны эти значения):

getArguments().remove("listOfImages");
getArguments().remove("listOfNames");
1
ответ дан Anatolii 17 August 2018 в 12:08
поделиться
  • 1
    Я не могу этого сделать, потому что, если я это делаю, никакое значение не передается другому фрагменту. И даже когда я делаю это в другом фрагменте, я все еще получаю старые значения и новые. – André Silva 13 July 2018 в 21:19
  • 2
    Старые ценности и новые? Как это возможно, если есть только 2 клавиши? Не могли бы вы предоставить код для вашего фрагмента приемника? – Anatolii 13 July 2018 в 21:32
  • 3
    См. Мой обновленный вопрос, пожалуйста – André Silva 13 July 2018 в 21:41
  • 4
Другие вопросы по тегам:

Похожие вопросы: