Junior — Middle
Fragment oluşturma yönteminde neden argümanlar geçirilir ve bu, onun çalışma şeklini nasıl etkiler?
sobes.tech yapay zeka
AI'dan gelen yanıt
Android'de, Fragment oluşturulurken genellikle setArguments(Bundle) yöntemi kullanılır. Bu, fragmentin herhangi bir zamanda getArguments() aracılığıyla alabileceği argümanları ayarlamayı sağlar.
Argümanların Bundle aracılığıyla iletilmesi önemlidir çünkü:
- Argümanlar, fragment yeniden oluşturulurken sistem tarafından kaydedilir ve geri yüklenir (örneğin, ekran döndürme sırasında).
- Bu, fragmentin durumunun doğru şekilde geri yüklenmesini sağlar ve kararsız alanlarda veri saklama ihtiyacını ortadan kaldırır.
- Farklı parametrelerle fragmentler oluşturmayı mümkün kılarak, onları daha esnek hale getirir.
Argümanlarla fragment oluşturma örneği:
class MyFragment : Fragment() {
companion object {
private const val ARG_USER_ID = "user_id"
fun newInstance(userId: Int): MyFragment {
val fragment = MyFragment()
val args = Bundle()
args.putInt(ARG_USER_ID, userId)
fragment.arguments = args
return fragment
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val userId = arguments?.getInt(ARG_USER_ID) ?: 0
// userId'yi kullan
}
}
Bu şekilde, argümanlar fragmente güvenli ve kullanışlı bir şekilde veri aktarımını sağlar ve yeniden oluşturulurken korunur.