3 回答

TA貢獻2065條經驗 獲得超14個贊
您可以將列表設為靜態(tài),然后就不需要傳遞它了。您可以在您的應用程序中的任何地方使用它。
通過使其靜態(tài)可能會出現memory leaks
問題,因此dispose
它們在使用后正確。

TA貢獻1995條經驗 獲得超2個贊
在 ActivityPlayers.java addItem() 方法中,將您的數據保存在共享首選項中。
private void addItem(int position) {
/** Get user input (name) **/
textAdd = findViewById(R.id.name_input);
/** Add name to the list **/
mNameList.add(position, new NameItem(textAdd.getText().toString().trim()));
/** sort that list **/
sortArrayList();
/** save changes to shared preferences **/
saveData();
/** Show changed list to user **/
mAdapter.notifyItemInserted(position);
/** Clear the input field **/
textAdd.getText().clear();
/** save data to shared pref **/
SharedPreferences prefs = getSharedPreferences(SHARED_PREFS_FILE, Context.MODE_PRIVATE);
Editor editor = prefs.edit();
try {
editor.putString(<KEY_NAME>, ObjectSerializer.serialize(mNameList));
} catch (IOException e) {
e.printStackTrace();
}
editor.commit();
}
并在 ActivityNewGame.java 中像這樣從共享首選項中提取 ArrayList。
mNewNameList = new ArrayList<NewGamePlayerItem>();
// load NewGamePlayerItems from preference
SharedPreferences prefs = getSharedPreferences(SHARED_PREFS_FILE, Context.MODE_PRIVATE);
try {
mNewNameList = (ArrayList<NewGamePlayerItem>) ObjectSerializer.deserialize(prefs.getString(<KEY_NAME>, ObjectSerializer.serialize(new ArrayList<NewGamePlayerItem>())));
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

TA貢獻1829條經驗 獲得超13個贊
您可以將數組列表保存在一個文件中。
public void save(String fileName) throws FileNotFoundException {
String tmp = clubs.toString();
PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));
pw.write(tmp);
pw.close();
}
添加回答
舉報