Sobes.tech
Junior — Middle

Възможно ли е и по какъв начин да се реализира Fragment с помощта на програмен код?

sobes.tech AI

Отговор от AI

Да, в Android може да се създаде и управлява Fragment изцяло програмно, без използване на XML оформление. За това е необходимо:

  1. Да се създаде клас, наследяващ от Fragment.
  2. Да се презапише методът onCreateView, където да се създаде и върне кореновият View програмно.
  3. Да се добави Fragment към Activity чрез FragmentManager с помощта на код.

Пример за създаване на прост Fragment с View, създаден програмно:

class MyFragment : Fragment() {
    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
    ): View? {
        val textView = TextView(requireContext())
        textView.text = "Програмно създаден Fragment"
        textView.gravity = Gravity.CENTER
        textView.textSize = 20f
        return textView
    }
}

Добавяне на Fragment към Activity програмно:

supportFragmentManager.beginTransaction()
    .replace(R.id.fragment_container, MyFragment())
    .commit()

По този начин цялото UI и логиката на фрагмента могат да бъдат създадени и управлявани чрез код без XML.