Je suis nouveau dans le développement Android et je voulais faire une application qui a l'en-tête, le corps et le pied de page et en cliquant sur l'un des boutons dans le pied de page une disposition sera chargée dans le corps. J'ai utilisé une sorte de "MasterPage" comme décrit here. Lorsque le bouton est enfoncé, aucune mise en page new_exercise
ou mise en page exercises
n'est chargée. Pourquoi? Peut-être qu'au lieu de tout cela, je devrais utiliser n'importe quel type d'onglets? Ou peut-être je ne peux pas gonfler la mise en page et devrait créer une nouvelle activité?Pourquoi gonfler la mise en page dans une autre mise en page d'Android?
Voici le code de l'activité BaseActivity et NewExercise:
public class BaseActivity extends Activity{
LinearLayout linBaseBody;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.base_layout);
linBaseBody = (LinearLayout)findViewById(R.id.base_body);
initButtons();
}
@Override
public void setContentView(int id) {
LayoutInflater inflater = (LayoutInflater)getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(id, linBaseBody);
}
private void initButtons()
{
Button btn1 = (Button) findViewById(R.id.newEx);
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
setContentView(R.layout.new_exercise);
}
});
Button btn2 = (Button) findViewById(R.id.showAllEx);
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
setContentView(R.layout.exercises);
}
});
}
public class NewExercise extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.new_exercise);
}
}
public class Exercises extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.exercises);
}
}
Créer une nouvelle activité à chaque clic ne sera pas trop lourd ou je devrais laisser à GC de s'inquiéter à ce sujet? – theateist
Cela dépend de ce que vous comptez faire exactement dans chacune des Activités. Mais dans tous les cas, non, il ne sera pas trop lourd sur le GC, ou plus exactement, il ne devrait pas interférer avec l'expérience de l'utilisateur. – AedonEtLIRA
Tout ce que je voulais faire est une sorte d'onglets (comme je pense à ce sujet maintenant!) Lorsque chaque onglet a des fonctionnalités différentes, mais tous les onglets auront le même en-tête comme décrit dans mon message. Alors sera-t-il préférable d'utiliser TabHost (ou quelque chose d'autre?) Au lieu d'essayer de gonfler la mise en page au sein d'une activité? – theateist