我将用户数据存储到ArrayList中并尝试访问其他类中的元素。
在这段代码中,我从我的Methods类接收用户数据并将它们存储在变量中,然后将这些变量添加到另一个名为Userlist的ArrayList中。我将该列表发送到Userdata方法,该方法返回Userlist。方法的访问修饰符是公共的,因此我可以从任何类访问列表。但我无法从其他类中获取列表,我不知道是否存在逻辑错误。
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);
方法UserData代码是
public ArrayList<String> UseData(ArrayList<String> UserList){
return UserList;
}
来自我试图访问的类用户列表代码是
frmLocalUser frm=new frmLocalUser();
if (frm.UseData() {
frm.UserList.get(0);
frm.UserList.get(1);
}
我在UserData
框架中调用Localuser
方法时遇到错误。
任何帮助都会非常感激。
答案 0 :(得分:1)
您的问题是方法UseData
采用名为UserList
的参数,只返回给出的列表:
public ArrayList<String> UseData(ArrayList<String> UserList){
return UserList; // ----------------------------^
}
参数UserList
将hide any fields with the same name。我看不到你的班级定义,但我认为你想要归还这个领域。
此方法不需要任何参数。您可以将其更改为:
public ArrayList<String> UseData(){
return UserList;
}
此处还有语法错误:
if (frm.UseData() {
因为你需要一个额外的结束括号:
if (frm.UseData()) {
另请注意,方法和变量应按惯例begin with a lowercase character。