Appel d'une methode

  • Auteur de la discussion seba3333
  • Date de début
S

seba3333

Membre
Inscrit
5 Août 2015
Messages
3
Points
0
  • #1
Bonjour à tous,

Je suis débutant sur le développement Android et je rencontre une difficulté.

J'ai une classe java dans un package appelé "fake"

public class FakeRoom {
private int id;
private int section;
private String name;
Room room;

.....


public static List<Room> getFakeRooms() {
ArrayList<Room> rooms = new ArrayList<>();
rooms.add(new Room(1, "nom", 1));
return rooms;
}

}

et mon soucis est que j'essaye d'appeler la méthode getFakeRooms() à partir d'une autre classe dans un autre package ci dessous



import fake.FakeRoom;

public class PieceInstall extends Activity {


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pieceinstall);
}

FakeRoom fakeroom = new FakeRoom();
fakeroom.getFakeRooms();
}


Android studio n'arrive pas à retrouver la référence de la méthode.

Quelle erreur je fais et comment je peux résoudre mon problème ?

Merci d'avance

Sébastien
 
Valentin

Valentin

Moderateur Global
Inscrit
20 Février 2013
Messages
10 670
Points
48
  • #2
Salut,

c'est le CTRL + espace qui t'a proposé la méthode ?
 
S

seba3333

Membre
Inscrit
5 Août 2015
Messages
3
Points
0
  • #3
non non :)
 
Valentin

Valentin

Moderateur Global
Inscrit
20 Février 2013
Messages
10 670
Points
48
  • #4
Voilà déjà qui clarifie les choses :roll:
 
S

seba3333

Membre
Inscrit
5 Août 2015
Messages
3
Points
0
  • #5
Ok, je viens de regarder ce dont tu me parles, mais c'est la même fonctionnalité que quand tu commence à ecrire le nom d'une classe et il te recherche les references connues, mais il retrouve ma classe. Lorsque je rajoute la methode derrière, il ne la trouve pas.
 
Valentin

Valentin

Moderateur Global
Inscrit
20 Février 2013
Messages
10 670
Points
48
  • #6
Tu a bien les constructeurs dans ta classe FakeRoom ?
 
gob0

gob0

Membre
Inscrit
14 Février 2015
Messages
29
Points
1
  • #7
Salut,

ça vient du fait que ta méthode getFakeRooms est static.
La méthode doit donc être appelée directement depuis la classe et non depuis une de ses instances.

-> FakeRoom.getFakeRooms() devrait te rendre la liste.
 

Sujets en relation

Haut Bas