0

J'ai deux activités avec deux dispositions correspondantes:mise en page Gonfler avec classe de contexte

MainActivity.java ->content_main.xml

SecondActivity.java ->content_secondclass.xml

Mon MainActivity gonfle le content_secondclass.xml sans problème:

RelativeLayout mainLayout = (RelativeLayout) findViewById(R.id.content_main); 
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View layout = inflater.inflate(R.layout.content_secondclass, null); 
mainLayout.removeAllViews(); 
mainLayout.addView(layout); 

Comment puis-je donner cette inflation Le contexte de SecondActivity.java cependant? Je ne veux pas commencer une autre intention car elle s'ouvrirait dans une nouvelle fenêtre et j'utilise une application de style Navigation Drawer. Je veux que SecondActivity soit appelé quand je gonfle le fichier content_secondclass.xml, mais pour le moment il ne fait que gonfler le content_secondclass sans appeler SecondActivity.java.

Mon content_secondclass.xml a déjà l'étiquette tools:context de ".SecondActivity"

Espoir je suis arrivé mon point de. Merci beaucoup pour votre temps et votre aide dans ce dossier.

+2

Recherchez quelque chose appelé "fragments" dans google. –

+0

ce n'est pas comment une activité gonfle la mise en page xml à la place utiliser setcontentview sur oncreate – g7pro

Répondre

1

J'ai un peu compris votre problème. Comme je suppose que vous voulez un travail Java dans votre deuxième mise en page (vue) à l'intérieur de votre première mise en page (principale) sans ouvrir une autre activité.

La meilleure façon de le faire en utilisant des fragments. En utilisant des fragments, vous aurez une interface utilisateur flexible et chaque fragment aura un contrôleur java correspondant dans une activité. Si vous êtes nouveau sur Android, passez par le tutoriel de fragment. Quelques notions de base sur des fragments click here

Cordialement

+0

merci pour les réponses à vous deux, va certainement se pencher sur des fragments. –

0

La disposition principale qui contient le tiroir de navigation doit être une mise en page de cadre et créer un objet de mise en page de cadre et

FragmentTransaction transaction = getSupportFragmentManager() 
       .beginTransaction(); 
     transaction.replace(R.id.frame_container, fragment); 
     transaction.addToBackStack(tag); 
     transaction.commit(); 

ici fragment est l'objet de votre créé fragment