и посмотреть медиа
Kotlin | Interview Questions
и посмотреть медиа
Interview questions for Kotlin developers with answers.
Interview questions for Kotlin developers with answers.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Kotlin interview questions: extensions, coroutines, collections. With code examples and explanations for Android and backend.
🤔 Как сохранить состояние скролла при пересоздании Activity? При пересоздании Activity (например, при повороте экрана) состояние ScrollView или RecyclerView сбрасывается. Чтобы этого избежать, можно сохранить и восстановить позицию скролла. 🟠Использование `onSaveInstanceState()` Android позволяет сохранять данные в Bundle перед уничтожением Activity, а затем восстанавливать их. class MainActivity : AppCompatActivity() { private lateinit var scrollView: ScrollView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) scrollView = findViewById(R.id.scrollView) // Восстанавливаем позицию скролла savedInstanceState?.let { val scrollY = it.getInt("scroll_position", 0) scrollView.post { scrollView.scrollTo(0, scrollY) } } } override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) outState.putInt("scroll_position", scrollView.scrollY) } } 🟠Для `RecyclerView` У RecyclerView уже есть встроенный механизм сохранения состояния через LinearLayoutManager. class MainActivity : AppCompatActivity() { private lateinit var recyclerView: RecyclerView private lateinit var layoutManager: LinearLayoutManager override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) layoutManager = LinearLayoutManager(this) recyclerView = findViewById(R.id.recyclerView) recyclerView.layoutManager = layoutManager recyclerView.adapter = MyAdapter() // Восстанавливаем позицию скролла savedInstanceState?.let { val scrollPosition = it.getInt("recycler_position", 0) recyclerView.post { layoutManager.scrollToPosition(scrollPosition) } } } override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) outState.putInt("recycler_position", layoutManager.findFirstVisibleItemPosition()) } } 🟠Использование `android:freezesText` для `EditText` Если EditText находится внутри ScrollView, можно включить android:freezesText="true", чтобы автоматически сохранять данные. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!