input[8] == input[7]
input[7] == temp
вы, вероятно, имели в виду:
input[8] = input[7]
input[7] = temp
, не так ли?
Что, как указано в комментариях, не будет работать непосредственно над строкой, так как он неизменен в Python. Итак, в качестве первого шага вы можете составить список символов из этой строки:
input = list(input)
и в качестве последнего шага получить строку из измененного списка:
input = ''.join(input)
BTW, вам может понадобиться использовать распаковку кортежей Python, которая позволяет вам менять две переменные без необходимости вводить третий:
input[7], input[8] = input[8], input[7]
он не займет ui, поэтому приложение все еще может функционировать
blockquote>Для этого вам не нужен
IntentService
. Обычная фоновая нить (возможно, привязанная кLiveData
),AsyncTask
, цепочке RxJava и т. Д. Может справиться с этим.Это означало бы, что IntentService должен быть способен rec. отправлять более одного раза. Возможно ли это
blockquote>Конечно. Было бы более эффективно использовать обычный фоновый поток,
AsyncTask
, цепочку RxJava и т. Д. Но вы должны иметь возможностьsend()
столько раз, сколько хотите. Результаты будут переданыonReceiveResult()
по одному (т. Е. Вы назоветеsend()
6 раз, вы получите 6onReceiveResult()
звонков).
IntentService
, но я все еще скептически настроен. Независимо от того, вы можете заставить его работать с тем, что у вас есть, и вы можете рассмотреть возможные изменения в будущем, если ваш нынешний подход становится слишком сложным. – CommonsWare 13 July 2018 в 23:10