Java Android-新的MainActivity()存储变量

Java Android-新的MainActivity()存储变量,java,android,android-activity,Java,Android,Android Activity,为什么当我需要访问一个变量或在另一个活动中设置一个变量时,它会在我离开时重置它 新的主要活动 String input1 = editText.getText().toString(); int input=Integer.parseInt(input1); MainActivity ma = new MainActivity(); ma.setTableNumber(input); 例如,我在SecondActivity中获得一个输入,并希望在MainActivity中设置一个变量 Str

为什么当我需要访问一个变量或在另一个活动中设置一个变量时,它会在我离开时重置它

新的主要活动

String input1 = editText.getText().toString();
int input=Integer.parseInt(input1);
MainActivity ma = new MainActivity();
ma.setTableNumber(input); 
例如,我在SecondActivity中获得一个输入,并希望在MainActivity中设置一个变量

String input1 = editText.getText().toString();
int input=Integer.parseInt(input1);
MainActivity ma = new MainActivity();
ma.setTableNumber(input); 
但当我在第三十届会议上获得它时,它又是0

int a=INTEGET.toStringnew main Activity.getTableNumber

有没有办法避免每次都要进行新的活动

顺便说一句,这就是我从主要活动到第二活动的方式

Intent loadTableNumberScreen=新建IntentMainActivity.this,TableNumber.class; StartActivityLoadTable数字屏幕


如果这有帮助的话

您尝试的方法是多余的,而且是非常糟糕的做法。当您调用新活动时,您只需创建一个新引用。您没有存储在调用新活动时创建的引用,您应该将该引用存储在一个变量中。但是,您可以使用单例类或在活动中创建一些静态变量,以便在应用程序中全局访问这些变量。

您是否希望将数据从MainActivity传输到另一个MainActivity?您不应该直接实例化活动。Android为您实例化它们。试图用新的意志创造你自己,充其量是行不通的,最糟糕的是会导致你失败crash@GabeSechan那么我如何访问它们中的方法呢?@droidv基本上是的,其中一个是objects@Biomechanic您不能直接访问这些方法。如果希望在活动之间交换简单数据,可以将其作为额外数据添加到用于启动第二个活动并读取其中的值的意图中。这是个糟糕的建议,有几个原因。首先,活动永远不应该通过其构造函数创建——而是在上下文中调用startActivity。其次,静态变量是在活动之间共享信息的最糟糕的方式,正是因为它们在任何地方都是全局可修改的,因此更难跟踪它们的状态,并且因为活动可能会被操作系统破坏。请参阅。我知道这也是一种糟糕的方式。我只是回答他的问题,当他打电话给新活动时会发生什么,这就是我没有鼓励他这么做的原因。首先要明白我说的话。