Как добавить данные, которые я ввел в поле edittext, в массив для перечисления в другом действии?
Ниже приведены 3 класса java, которые я использую для разработки приложений для Android. Я хочу добавить данные студента (имя и номер телефона) из AddActivity, которые будут сохранены на странице MainActivity после нажатия кнопки «Добавить». Я исследовал это и попытался использовать массив, но меня довольно смущает логика для кода, чтобы отправлять данные, введенные в AddActivity, на страницу MainActivity. Может ли кто-нибудь дать мне руководство о том, как это решить, и был бы действительно благодарен, если бы вы могли показать мне другой способ, а не тот, который я пытаюсь сделать. Я хочу, чтобы данные сохранялись в формате ListView в MainActivity после каждого нажатия кнопки «Добавить» на странице AddActivity. Очень надеюсь, что кто-нибудь сможет помочь мне в этом. Спасибо.
MainActivity.java - https://jsfiddle.net/eb1fprnn/
public class MainActivity extends AppCompatActivity { ListView listView; Button addStudent; ArrayList<Student> students = new ArrayList<Student>(); protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); add(); } public void add() { Student student; addStudent = (Button) findViewById(R.id.add); addStudent.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, AddActivity.class); startActivity(intent); } }); } }
AddActivity.java - https://jsfiddle.net/40k5mas2/
public class AddActivity extends AppCompatActivity { EditText name, phone; Button add; int FphoneNumber; String Fname; ArrayList<Student> students; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); students = (ArrayList<Student>) getIntent().getSerializableExtra("AddNewStudent"); setContentView(R.layout.activity_add); edit(); addStudent(); } public void edit() { name = (EditText) findViewById(R.id.StudentName); phone = (EditText) findViewById(R.id.phone); final Button addStudent = (Button) findViewById(R.id.AddStudent); name.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { addStudent.setEnabled(!name.getText().toString().trim().isEmpty()); Fname = name.getText().toString(); String phoneNumber = phone.getText().toString(); FphoneNumber = Integer.parseInt(phoneNumber); } @Override public void afterTextChanged(Editable s) { } }); } public void addStudent() { add = (Button) findViewById(R.id.AddStudent); add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(AddActivity.this, MainActivity.class); intent.putExtra("studentName",name.getText().toString() ); intent.putExtra("phoneNumber",phone.getText().toString()); startActivity(intent); Student student = new Student(Fname, FphoneNumber); students.add(student); } }); } public void addStudent(){ add = (Button) findViewById(R.id.AddStudent); add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(AddActivity.this,Record.class); startActivity(intent); } }); }
Student.java - https://jsfiddle.net/gy0g7b0s/
public class Student { String mName; int mPhoneNumber; public Student (String name, int number){ mName = name; mPhoneNumber = number; }; public String getmName() { return mName; } public String getmName(String newName) { return (this.mName = newName); } public int getmPhoneNumber() { return this.mPhoneNumber; } public int getmPhoneNumber(int newPhoneNumber) { return (this.mPhoneNumber = newPhoneNumber); } @Override public String toString() { return String.format("%s\t%f",this.mName, this.mPhoneNumber);
[1]: [Изображение главной страницы деятельности] http://imgur.com/a/pMWt4
[2]: [изображение страницы добавления активности] http://imgur.com/a/8YvVc
Что я уже пробовал:
Я пробовал использовать массивы, но на самом деле не понимаю, как это сделать. И я знаю, что нужно делать с базой данных, но я стараюсь не использовать для этого базу данных. Пожалуйста, надеюсь, что кто-то сможет помочь мне с этим спасибо.