Python не выполняет скрипт

Это самый простой взлом:

fun getCurrentFragment(): Fragment? {
    return if (count == 0) null
    else instantiateItem(view_pager, view_pager.currentItem) as? Fragment
}

(код kotlin)

Просто вызовите instantiateItem(viewPager, viewPager.getCurrentItem() и переведите его в Fragment. Ваш объект уже будет создан. Чтобы убедиться, что вы можете добавить проверку для getCount.

Работает как с FragmentPagerAdapter, так и с FragmentStatePagerAdapter!

0
задан ShadowRanger 17 January 2019 в 01:46
поделиться

2 ответа

Большое спасибо - это сработало. (Так глупо с моей стороны ...)

0
ответ дан Boazsh 17 January 2019 в 01:46
поделиться

Ваш файл пуст во время работы программы:

fd = open(file_name,"w")
fd.write("#!/usr/local/bin/tcsh -f\n")
fd.write("echo 'PRINT FROM CMD_FILE_FROM_PYTHON'\n")
fd.close

Обратите внимание на отсутствие паренсов вызовов на fd.close; вы на самом деле никогда не закрывали файл, поэтому, скорее всего, все содержимое файла находилось в буфере Python и никогда не попадало на диск до тех пор, пока программа не закончилась (когда ссылочный интерпретатор CPython, как деталь реализации, проходит и очищает глобальные переменные, закрывая открытые файлы для вас побочным эффектом, он может никогда не достигнуть диска в другом интерпретаторе).

Чтобы исправить, на самом деле позвоните close. Или, что еще лучше, переключитесь на более безопасный подход with к выражению , где close является неявным и автоматическим, происходит даже в том случае, если исключение или return заставляет вас досрочно выйти из кода: [ 1110]

with open(file_name, "w") as fd:
    fd.write("#!/usr/local/bin/tcsh -f\n")
    fd.write("echo 'PRINT FROM CMD_FILE_FROM_PYTHON'\n")
# No need to call close; file is guaranteed closed when you exit with block
0
ответ дан ShadowRanger 17 January 2019 в 01:46
поделиться
Другие вопросы по тегам:

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