Vous pouvez stocker View_A en tant que variable d'instance publique dans votre activité principale. passez ensuite le contexte de l'activité principale à View_B. Vous pouvez ensuite accéder à l'instance de View_A via le contexte de l'activité principale dans View_B.
est ici essentiellement ce que je veux dire
Ceci est votre principale activité:
Context context;
public View_A viewA;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
viewA = new View_A();
View_B viewB = new View_B(context);
}
il serait probablement préférable à l'aide d'une méthode de lecture pour obtenir le viewA du contexte.
Voici View_B exemple de classe:
class View_B {
Context activityContext;
// constructor
View_B (Context _c)
{
activityContext = _c;
viewA = activityContext.viewA;
}
}
qui est essentiellement ce que je veux dire, mais comme je l'ai dit dans mon commentaire, solution Teds semble plus élégante.
Je pense qu'il voulait dire quelque chose comme ceci:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
View_A viewA = new View_A();
View_B viewB = new View_B();
// create a setter method in viewB class to set viewA instance into it after viewA & viewB are created. or i guess you could pass viewA to viewB in the constructor of viewB
viewb.setViewA(viewA);
}
J'espère que quelque chose qui peut vous aider
N'importe quel exemple de code? Merci. – user403015
voir mes mises à jour. J'ai inclus un échantillon de ce que je voulais dire, mais comme je l'ai dit, je pense que la solution Teds est plus élégant – wired00