我有一个需要传递给ArrayList的对象。 ArrayList包含在另一个类的外部方法中。
我已经调试了程序,并知道传递给“应用程序”的信息。构造函数正被放入“应用程序”中。宾语。我的问题是将它从这里转移到' GuestsAttending'方法
非常感谢任何帮助。
预订屏幕方法:
public void saveBookingInfo(View view) {
GuestsAttending sendApplication = new GuestsAttending();
EditText applicantNameText = (EditText) findViewById(R.id.applicantNameTextField);
EditText itemToBurnText = (EditText) findViewById(R.id.itemToBurnTextField);
String appName = applicantNameText.getText().toString();
String appItemToBurn = itemToBurnText.getText().toString();
if (appItemToBurn.isEmpty() || appName.isEmpty()) {
Toast.makeText(BookingScreen.this, "Please fill in all fields.", Toast.LENGTH_SHORT).show();
}
else {
Application app = new Application(appItemToBurn, appName);
sendApplication.getGuestsAttending(app);
this.finish();
}
}
GuestsAttending Method:
public void getGuestsAttending(Application app){
peopleAttending.add(app);
}
申请类:
public class Application {
private String name;
private String item;
public Application(String applicantName, String applicantItem) {
name = applicantName;
item = applicantItem;
}
}
答案 0 :(得分:2)
为清楚起见,将“getGuestAttending”更改为“addGuestAttending”。如果“peopleAttending”是一个数组,那么您的方法将无效。将“peopleAttending”更改为List或Set,然后它将起作用。如果“peopleAttending”需要是一个数组,除非您声明它足以容纳所有客人,否则您无法向其中添加项目。然后,您必须跟踪访客的数量,以便知道在哪里插入新客人。换句话说,不要使用数组,请使用List:
List attendingGuests = new LinkedList();
答案 1 :(得分:0)
我发现了一个不同的解决方案。我没有在另一个类中创建对象并将其作为参数传递给外部方法调用,而是在外部方法中创建了对象,并将几个字符串传递给该方法,我将其传递给另一个类的构造函数以使其成为方法中的对象。