L'ajout d'un Fragment de façon dynamique à l'intérieur d'une vue
J'ai commencé avec ce Comment puis-je ajouter un Fragment d'une Activité avec un créé par programme à la vue de contenu
Pour créer et ajouter un Fragment à l'intérieur d'une Activité.
Mais quand j'ai essayé d'ajouter le même fragment à l'intérieur d'un point de vue dynamique, il a échoué.
Peut-u s'il vous plaît répondre à ce qui est le problème derrière elle.
public class MainActivity extends FragmentActivity {
private static final int CONTENT_VIEW_ID = 10101010;
private static final int CONTENT_VIEW_ID1 = 10101011;
public FragmentManager fm = getSupportFragmentManager();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = new View(this);
FrameLayout frame = new FrameLayout(this);
frame.setId(CONTENT_VIEW_ID);
frame.addView(view,new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
view.setId(CONTENT_VIEW_ID1);
setContentView(frame);
if (savedInstanceState == null) {
Fragment newFragment1 = new DebugExampleTwoFragment();
FragmentTransaction ft = fm.beginTransaction();
ft.add(CONTENT_VIEW_ID1, newFragment1);
ft.commit();
}
public static class DebugExampleTwoFragment extends Fragment {
public static int count = 0;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = new View(getActivity());
v.setBackgroundColor(Color.RED);
return v;
}
}
Il a échoué avec ClassCastException
la ligne exacte numéro n'est pas affiché.
OriginalL'auteur siva | 2012-07-29
Vous devez vous connecter pour publier un commentaire.
Vous sont probablement message comme ceci:
C'est parce que le fragment peut être inséré dans
ViewGroup
ou quelque chose qui hérite deViewGroup
. Vous ne pouvez pas insérer de se fragmenter enView
. Afin de rendre votre code d'exécuter modifier cette ligne:par exemple, ceci:
OriginalL'auteur Leszek