【发布时间】:2018-12-22 23:44:51
【问题描述】:
这是 ViewActivity
public class ViewActivity extends AppCompatActivity {
private ListView lvPerson;
private PersonListAdapter adapter;
public List<Person> mPersonList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view);
lvPerson = (ListView)findViewById(R.id.listView);
//Add new person
Intent intent = getIntent();
if(intent.hasExtra("add")){
String name = intent.getStringExtra("name");
String email = intent.getStringExtra("email");
String address = intent.getStringExtra("address");
mPersonList.add(new Person(name, email, address));
Toast.makeText(getApplicationContext(), "Data berhasil ditambahkan", Toast.LENGTH_SHORT).show();
}
//Init adapter
adapter = new PersonListAdapter(getApplicationContext(), mPersonList);
lvPerson.setAdapter(adapter);
}
}
这是输入活动
public class InputActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input);
}
public void saveButtonClicked(View view){
EditText name = (EditText) findViewById(R.id.editTextName);
EditText email = (EditText) findViewById(R.id.editTextEmail);
EditText address = (EditText) findViewById(R.id.editTextAddress);
String strName = name.getText().toString();
String strEmail = email.getText().toString();
String strAddress = address.getText().toString();
Intent intent = new Intent(this, ViewActivity.class);
intent.putExtra("add", true);
intent.putExtra("name", strName);
intent.putExtra("email", strEmail);
intent.putExtra("address", strAddress);
startActivity(intent);
}
}
显示我的流程是当在 InputActivity 中单击保存按钮时,它将在 ViewActivity 中运行“添加人员”代码并将数据从表单添加到 ArrayList。
这是可行的,但是当我使用意图更改活动并返回 ViewActivity 时,ArrayList 数据消失了。
我想要的是保留我已经在 InputActivity 中输入的所有值。
希望你明白我的意思:)
【问题讨论】:
-
您想无限期地保留它,还是只在单个应用会话中保留它?
-
仅在单个应用会话中
-
但问题是当我开始新活动时,ArrayList 数据消失了。我太堆栈了,我对android一无所知。顺便说一句,这是我的学校任务。这是我第一次学习 Android @TylerV
-
感谢您的澄清。这里有很多关于在活动之间来回传递数据的好答案。我用不同的方法添加了一个。
标签: java android arrays android-studio arraylist