要实现将项目添加到Activity 'a'中的字符串数组中,并在退出应用程序后保存项目,可以按照以下步骤进行操作:
private String[] projectArray;
public void addProject(String project) {
// 将传递过来的项目添加到字符串数组中
String[] newArray = new String[projectArray.length + 1];
System.arraycopy(projectArray, 0, newArray, 0, projectArray.length);
newArray[projectArray.length] = project;
projectArray = newArray;
// 更新界面显示
// ...
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String project = "项目内容"; // 获取项目的内容
Intent intent = new Intent(ActivityB.this, ActivityA.class);
intent.putExtra("project", project);
startActivity(intent);
}
});
onCreate()
方法中,获取从Activity 'b'传递过来的项目,并调用添加项目的方法。例如:@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
// 获取从Activity 'b'传递过来的项目
Intent intent = getIntent();
if (intent != null) {
String project = intent.getStringExtra("project");
if (project != null) {
addProject(project); // 调用添加项目的方法
}
}
// 其他初始化操作
// ...
}
onPause()
方法中,将项目保存到SharedPreferences中。例如:@Override
protected void onPause() {
super.onPause();
// 将项目保存到SharedPreferences中
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt("projectCount", projectArray.length);
for (int i = 0; i < projectArray.length; i++) {
editor.putString("project" + i, projectArray[i]);
}
editor.apply();
}
onResume()
方法中,从SharedPreferences中恢复保存的项目。例如:@Override
protected void onResume() {
super.onResume();
// 从SharedPreferences中恢复保存的项目
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
int projectCount = sharedPreferences.getInt("projectCount", 0);
projectArray = new String[projectCount];
for (int i = 0; i < projectCount; i++) {
projectArray[i] = sharedPreferences.getString("project" + i, "");
}
// 更新界面显示
// ...
}
通过以上步骤,就可以实现通过点击Activity 'b'中的按钮将项目添加到Activity 'a'中的字符串数组中,并在退出应用程序后保存项目。
领取专属 10元无门槛券
手把手带您无忧上云