Android 将数据添加到数组中以在其他活动中列出

Android 将数据添加到数组中以在其他活动中列出,android,arrays,listview,android-studio,apk,Android,Arrays,Listview,Android Studio,Apk,下面是我在android应用程序开发中使用的3个java类。我想在单击“添加”后添加AddActivity中的学生数据(姓名和电话号码)以存储在MainActivity页面中。我对此进行了研究,并尝试使用数组,但对于代码如何将AddActivity中键入的数据发送到MainActivity页面,我感到非常困惑。有人能给我一个如何解决这个问题的指导吗?如果你能告诉我另一种方法,而不是我正在尝试的方法,我将非常感激。我希望在每次单击AddActivity页面中的“添加”后,数据都以ListView格

下面是我在android应用程序开发中使用的3个java类。我想在单击“添加”后添加AddActivity中的学生数据(姓名和电话号码)以存储在MainActivity页面中。我对此进行了研究,并尝试使用数组,但对于代码如何将AddActivity中键入的数据发送到MainActivity页面,我感到非常困惑。有人能给我一个如何解决这个问题的指导吗?如果你能告诉我另一种方法,而不是我正在尝试的方法,我将非常感激。我希望在每次单击AddActivity页面中的“添加”后,数据都以ListView格式存储在MainActivity中。希望有人能指导我这样做。多谢各位

MainActivity.java-

[1] :[主活动页面图像]


[2] :[添加活动页面的图像]

您可以将它们存储为
公共静态变量
或创建AddActivity构造函数并获取函数

String student name; /*add value to this variable @onCreate or wherever in your AddActivity*/

public class AddActivity(/*here to pass data to addactivity*/){
//
}
public String getName(){
return this.name;
}
在另一项活动中

AddActivity ac = new AddActivity();
String someName = ac.getName();
您可以使用此逻辑传递数据

编辑 但是,如果您想要传递数据,只需检查intenr content onCreate()


我能找到的最好的解决方案是,将数组列表声明为静态的,如果类在同一个包中,您可以在任何地方访问它们。但如果您想存储这些值,请使用共享首选项。希望这能有所帮助。

您好,您能给我看一下我需要的代码吗?在编辑我的答案时检查意图,希望它能帮助您;)您好,我正在尝试通过EditText添加数据,方法是单击AddActivity页面中的add按钮,并尝试显示我刚刚添加到MainActivity页面中的数据。android中的静态变量不是好主意。你为什么建议呢?也从不显式地
new
任何活动类是的,我实际上也不想使用静态变量。您好,您能告诉我怎么做吗?我是android开发新手。在AddActivity类中,声明Arraylist学生如下:公共静态Arraylist学生;现在,无论你想在哪里使用学生名单。你好,对不起,我仍然不知道怎么做。你有teamviewer吗?
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);
String student name; /*add value to this variable @onCreate or wherever in your AddActivity*/

public class AddActivity(/*here to pass data to addactivity*/){
//
}
public String getName(){
return this.name;
}
AddActivity ac = new AddActivity();
String someName = ac.getName();
Intent i = getIntent();
if(i.hasExtra("intentKey")){//check if it s not null
String name = i.getExtraString("intentKay");
}