Наконец-то нашли решение. Теперь я распоряжаюсь Disposable только нажатием кнопки «назад» и не распоряжаюсь ею на экране без присмотра. Итак, я добавил метод к базовому докладчику:
...
/**
* Method that should be called on back button click in fragment
* It's planned that all [Disposable] objects will be disposed in implementation of this method
* */
abstract fun onBackButtonClicked()
...
Докладчик:
...
override fun onBackButtonClicked() {
getChartDataDisposable?.dispose()
}
...
Просмотр (фрагмент):
...
override fun onBackButtonClicked() {
presenter.onBackButtonClicked()
navigator.back()
}
...
И некоторая логика для перехвата нажмите на аппаратная кнопка возврата:
Интерфейс:
interface OnBackButtonClickListener {
fun onBackButtonClicked()
}
Базовый фрагмент:
abstract class BaseFragment : Fragment(), OnBackButtonClickListener {
...
override fun onResume() {
super.onResume()
(ctx as MainActivity).currentBackPressListener = this@BaseFragment
}
override fun onPause() {
super.onPause()
(ctx as MainActivity).currentBackPressListener = null
}
...
}
Наконец, переопределен метод onBackPressed () в действии:
class MainActivity : AppCompatActivity() {
...
var currentBackPressListener: OnBackButtonClickListener? = null
...
override fun onBackPressed() {
currentBackPressListener?.onBackButtonClicked()
}
...
}
fileConn<-file("output.txt")
writeLines(c("Hello","World"), fileConn)
close(fileConn)
Что относительно простого write.table()
?
text = c("Hello", "World")
write.table(text, file = "output.txt", col.names = F, row.names = F, quote = F)
параметры col.names = FALSE
и row.names = FALSE
удостоверяются, что исключили строку и имена столбцов в txt, и параметр quote = FALSE
исключает те кавычки вначале и конец каждой строки в txt. Для чтения данных въезжают задним ходом, можно использовать text = readLines("output.txt")
.
На самом деле вы можете сделать это с помощью ock ()
:
sink("outfile.txt")
cat("hello")
cat("\n")
cat("world")
sink()
, следовательно, выполните:
file.show("outfile.txt")
# hello
# world