[英]What's wrong with the code below?
我正從大書呆子牧場的書中學習。
FragmentManager fm = getFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragmentContainer);
if (fragment == null) {
fragment = new CrimeFragment();
fm.beginTransaction().add(R.id.fragmentContainer, fragment).commit();
}
出現類型不匹配錯誤。 但是,如果我打電話
CrimeFragment fragment = fm.findFragmentById(R.id.fragmentContainer);
不起作用。 所以我的問題是如何使用布局中的id調用CustomFragment(CrimeFragment)?
提前致謝。
我通常這樣做:
CrimeFragment fragment = new CrimeFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragmentContainer, fragment).commit();
要么
transaction.add(R.id.fragmentContainer, fragment).commit();
更多信息:
如果在onCreate方法中創建片段,則屏幕方向更改將導致片段再次更新。 你可以在這里阻止這個:
if (savedInstanceState == null){
CrimeFragment fragment = new CrimeFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragmentContainer, fragment, "fragment").commit();
}else{
CrimeFragment homeFragment = (CrimeFragment) getSupportFragmentManager().findFragmentByTag("fragment");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.