Dans ma vue principale, j'ai:
public class PlayersActivity extends Activity {
ViewFlipper flipper;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.playercontainer);
flipper = (ViewFlipper) findViewById(R.id.flipper);
}
}
avec cette vue:
<ViewFlipper xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/flipper"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<include Android:id="@+id/first" layout="@layout/first" />
<include Android:id="@+id/second" layout="@layout/playerdetailsview" />
</ViewFlipper>
Elle affiche correctement la première vue, mais je souhaite qu'elle soit connectée à une classe Java. J'ai donc créé une classe FirstActivity dans laquelle je peux contrôler tous mes composants dans la première vue. Classe Java?
Supposons que votre nouveau fichier XML soit foo.xml
:
foo.xml
dans votre répertoire res/layout
.setContentView(R.layout.foo);
Voir aussi la rubrique sur déclarer un modèle .
1) Créez un fichier XML (disons foo.xml
).
2) Mettez foo.xml
dans le répertoire res/layout
.
3) Éditez foo.xml
et mettez du code de mise en page Android et enregistrez-le. par exemple.,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:orientation="vertical" >
<ViewFlipper Android:id="@+id/viewFlipper1"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"></ViewFlipper>
</LinearLayout>
4) Dans votre nouvelle classe d'activité
setContentView(R.layout.foo);
Pour créer une activité voir cette réponse
Je suppose que le problème avec votre fichier xml est que vous n'aviez pas spécifié de mise en page pour l'activité.
Pas si difficile de relier 2 mises en page, il suffit de:
@Override
public void onClick(View args0) {
setContentView(R.layout.aardelayout);
}
Changez le nom de FirstActivity en firstactivity . Layout n'accepte pas les majuscules, j'ai été confronté au même problème.