2017-09-06 5 views
-2

Je stocke des données utilisateur dans une liste de tableaux et essaye d'accéder aux éléments d'une autre classe.Comment appeler une méthode d'une autre classe qui renvoie une liste de tableaux et Accéder aux éléments de cette matrice

Dans ce code, je reçois des données utilisateur de ma classe Methods et les stocke dans des variables, puis j'ajoute ces variables dans une autre ArrayList appelée Userlist. J'envoie cette liste à la méthode Userdata qui retourne la liste d'utilisateurs. Le modificateur d'accès de la méthode est public afin que je puisse accéder à la liste de n'importe quelle classe. Mais je suis incapable d'obtenir la liste d'une autre classe, je ne sais pas s'il y a une erreur logique.

attributes attri=new attributes(); 
attri.Email=va; 
attri.Password=password; 

m.Userdata(attri); 
UserNameFirst=m.list.get(0); 
UserLastName=m.list.get(1); 
Partnerid=m.list.get(2); 
Bussinessid=m.list.get(3); 

txtUserName.setText(UserNameFirst+UserLastName); 
txtBussinessid.setText(Bussinessid); 
txtPartnerid.setText(Partnerid); 

UserList.add(Partnerid); 
UserList.add(Bussinessid); 

UserData(UserList); 

Méthode code UserData est

public ArrayList<String> UseData(ArrayList<String> UserList){ 
    return UserList; 
} 

de la classe je suis en train d'accéder au code de la liste des utilisateurs est

frmLocalUser frm=new frmLocalUser(); 
if (frm.UseData() { 
    frm.UserList.get(0); 
    frm.UserList.get(1); 
} 

J'ai une erreur d'appeler la UserData Méthode Localuser cadre . Toute aide serait grandement appréciée.

+0

Cela peut aider les autres à comprendre votre question si vous fournissez la source pour toute la classe et pas seulement pour certaines parties. Il semble que vous avez beaucoup de problèmes. – Faron

+0

J'ai corrigé votre indentation et quelques autres problèmes. S'il vous plaît prendre plus de soin lorsque vous écrivez une question à l'avenir :) – Michael

+0

difficile à comprendre de la description actuelle s'il vous plaît fournir plus de détails –

Répondre

1

Votre problème est que la méthode UseData prend un paramètre appelé UserList et renvoie simplement la liste, il a été donné:

public ArrayList<String> UseData(ArrayList<String> UserList){ 
    return UserList; // ----------------------------^ 
} 

Le paramètre UserList sera hide any fields with the same name. Je ne vois pas votre définition de classe, mais je suppose que vous voulez retourner le champ.

Cette méthode ne devrait nécessiter aucun paramètre. Vous pouvez le modifier à:

public ArrayList<String> UseData(){ 
    return UserList; 
} 

Vous avez également une erreur de syntaxe ici:

if (frm.UseData() { 

parce que vous avez besoin d'un support de fermeture supplémentaire:

if (frm.UseData()) { 

Notez également que les méthodes et les variables devraient begin with a lowercase character par convention.