【发布时间】:2015-06-29 22:53:59
【问题描述】:
我有这个方法用于存储应用程序列表。
public void storeApplication(String name, String item){
peopleAttending.add(new Application(name, item));
}
它做了它应该做的事情,但是当方法完成时,包含在 ArrayList 中的数据也会被破坏。
我已经在全局范围内声明并实例化了 ArrayList:
private ArrayList<Application> peopleAttending = new ArrayList<>();
所以我会认为一旦将对象添加到 ArrayList 中,它将被安全地存储,直到程序终止。
任何帮助将不胜感激。
调用 storeApplication 的类:
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 {
sendApplication.storeApplication(appName, appItemToBurn);
}
}
编辑 - 整个班级:
public class GuestsAttending extends Activity {
private ArrayList<Application> peopleAttending = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_guests_attending);
}
public void storeApplication(String name, String item){
peopleAttending.add(new Application(name, item));
}
}
【问题讨论】:
-
你能分享你的代码吗
-
创建
Singlton Class并存储在其中。 -
这将有助于我们查看包含
storeApplication和peopleAttending的整个类(或者可能只是相关部分),以及调用storeApplication的代码。跨度> -
您可能创建了一个新实例并希望从已填充的 ArrayList 中读取 .. 如果是这样,那将无法正常工作
-
这里没有太多上下文,作为初步猜测,我会检查您是否从调用 storeApplication 的同一对象查询列表。
标签: java android methods arraylist