从另一个类访问公共变量?

问题描述:

我目前正在开发的应用程序创建了多个类,每个类都有相应的 .xml文件。计算完成后,我的应用需要从一个屏幕进行到下一个 。从另一个类访问公共变量?

在一个类中,我已经声明了一个名为V的公共双精度,这是电压计算的结果 。

当用户按下“NEXT”时,将调用一个新类(ed:Activity?),并且xml文件将会将屏幕视图更改为新布局。

在这个新类中,我需要使用变量(double V)进行新的计算。

我认为如果一个变量是公开的,它可以在包中的任何地方使用。我是否需要导入这个变量,或者以某种方式重新声明它?

任何答案将不胜感激。我已经尝试过所有我能想到的东西,但是 Eclipse只是一直说V不能解决。

+2

您是否输入了课程?你是否恰当地引用了V?另外,V是一个实例变量还是静态变量? – 2011-02-28 17:29:58

我被“一个新的类被称为”,你在谈论推出新的活动,意图,像这样假设:

Intent intent = new Intent(this, Activity2.class); 
startActivity(intent); 

假如是这样的话,你可以通过该变量作为Intent对象中的额外元素,然后从新启动的Activity中检索它。例如:现在

Intent intent = new Intent(this, Activity2.class); 
intent.putExtra("voltage", V); 
startActivity(intent); 

,你Activity2.java文档中,在你的onCreate(),补充一点:

Intent intent = getIntent(); 
double V; 
//return -1 if unable to retrieve 
if(intent != null) V = intent.getDoubleExtra("voltage", -1); 

使V应该用正确的电压值来填充。

+0

谢谢,那正是我需要的...... – Coops5575 2011-02-28 17:39:17

+0

刚刚尝试了代码,而且eclipse让我把代码放在第一类(Activity)中,但是当我打开下一个类时,出现错误,提示“getExtra(字符串)是未定义的???它只会让我把第一个2行没有错误,但如果我消除了“如果(意图等等等等)我仍然不能使用变量”V“。 – Coops5575 2011-02-28 18:04:15

+0

哎呀!是的,我混合起来。 'putExtra'允许有许多不同类型的参数,但您必须指定要检索的类型。我已经更新了我的答案。 :) – kcoppock 2011-02-28 18:08:16