Member 11014667 Ответов: 1

Как добавить данные, которые я ввел в поле 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

Что я уже пробовал:

Я пробовал использовать массивы, но на самом деле не понимаю, как это сделать. И я знаю, что нужно делать с базой данных, но я стараюсь не использовать для этого базу данных. Пожалуйста, надеюсь, что кто-то сможет помочь мне с этим спасибо.

1 Ответов

Рейтинг:
1

Richard MacCutchan

Видеть intent putextra android - поиск в Google[^].