2 回答

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以實(shí)施以下選項(xiàng)之一:
不好但很快 - 在你
Activity
的構(gòu)造函數(shù)中初始化列表而不是onCreate()
方法正確但緩慢 - 將您的值存儲(chǔ)在數(shù)據(jù)庫(kù)中,并在需要時(shí)獲取它們

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以遵循單例模式。本質(zhì)上,您希望創(chuàng)建一個(gè)可以從任何地方訪問(wèn)的全局列表。你可以把它放在幾個(gè)地方,我建議Application把它放在那里作為一個(gè)好的開(kāi)始。
您可能有自己的Application,但如果沒(méi)有,您還需要在清單中注冊(cè)它。
所以,我創(chuàng)建了一個(gè)名為 的應(yīng)用程序MyApp,它從Application. 這將包含我們可以從任何地方訪問(wèn)的答案列表。
public class MyApp extends Application {
// A public static list of answers
public static ArrayList<answers_preview_data> answers = new ArrayList<>();
@Override
public void onCreate() {
super.onCreate();
// do other app setup ...
}
}
現(xiàn)在,在您的問(wèn)題中,我們可以輕松地向此列表添加新答案。
public class QuestionOne extends AppCompatActivity implements View.OnClickListener {
@Override
public void onClick(View v) {
// Adding the new answer to your list.
MyApp.answers.add(new answers_preview_data());
}
}
在您的 Grade 課程中,我們可以獲取列表并在本地使用它。
public class Grade extends AppCompatActivity {
private ArrayList<answers_preview_data> mPreviewArrayList;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPreviewArrayList = MyApp.answers;
// use your list ...
}
}
添加回答
舉報(bào)