Junior
Co se obvykle děje v metodě onCreate v Android aplikaci?
sobes.tech AI
Odpověď od AI
V onCreate() dochází k inicializaci aktivity. To zahrnuje:
- Přiřazení setContentView: určení rozvržení uživatelského rozhraní pro aktivitu.
- Získání odkazů na prvky View: hledání prvků View (například TextView, Button) pomocí
findViewById()pro další práci s nimi. - Inicializace dat: načtení dat pro aktivitu, například čtení z Bundle, získání z Intent nebo příprava datových struktur.
- Přihlášení posluchačů: nastavení posluchačů pro prvky View (například OnClickListener) pro zpracování interakce uživatele.
- Obnovení stavu: obnovení předchozího stavu aktivity z předaného
Bundle(pokud není null). - Nastavení ActionBar/Toolbar (je-li potřeba).
// Příklad použití onCreate() v Kotlinu
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) // Vždy volat super.onCreate()
setContentView(R.layout.activity_main) // Přiřazení rozvržení
val textView = findViewById<TextView>(R.id.myTextView) // Získání odkazu na TextView
textView.text = "Ahoj, Android!" // Nastavení textu
val myButton = findViewById<Button>(R.id.myButton) // Získání odkazu na tlačítko
myButton.setOnClickListener { // Nastavení posluchače kliknutí
// Zpracování kliknutí na tlačítko
}
// Obnovení stavu z Bundle (pokud existuje)
savedInstanceState?.let {
// Obnovení dat z Bundle
}
}
}
// Příklad použití onCreate() v Javě
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // Vždy volat super.onCreate()
setContentView(R.layout.activity_main); // Přiřazení rozvržení
TextView textView = findViewById(R.id.myTextView); // Získání odkazu na TextView
textView.setText("Ahoj, Android!"); // Nastavení textu
Button myButton = findViewById(R.id.myButton); // Získání odkazu na tlačítko
myButton.setOnClickListener(v -> { // Nastavení posluchače kliknutí
// Zpracování kliknutí na tlačítko
});
// Obnovení stavu z Bundle (pokud existuje)
if (savedInstanceState != null) {
// Obnovení dat z Bundle
}
}
}
V podstatě je onCreate() prvním metodou životního cyklu aktivity, ve které se provádí většina inicializačních nastavení.