从另一个类访问公共变量?
我目前正在开发的应用程序创建了多个类,每个类都有相应的 .xml文件。计算完成后,我的应用需要从一个屏幕进行到下一个 。从另一个类访问公共变量?
在一个类中,我已经声明了一个名为V的公共双精度,这是电压计算的结果 。
当用户按下“NEXT”时,将调用一个新类(ed:Activity?),并且xml文件将会将屏幕视图更改为新布局。
在这个新类中,我需要使用变量(double V)进行新的计算。
我认为如果一个变量是公开的,它可以在包中的任何地方使用。我是否需要导入这个变量,或者以某种方式重新声明它?
任何答案将不胜感激。我已经尝试过所有我能想到的东西,但是 Eclipse只是一直说V不能解决。
我被“一个新的类被称为”,你在谈论推出新的活动,意图,像这样假设:
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应该用正确的电压值来填充。
谢谢,那正是我需要的...... – Coops5575 2011-02-28 17:39:17
刚刚尝试了代码,而且eclipse让我把代码放在第一类(Activity)中,但是当我打开下一个类时,出现错误,提示“getExtra(字符串)是未定义的???它只会让我把第一个2行没有错误,但如果我消除了“如果(意图等等等等)我仍然不能使用变量”V“。 – Coops5575 2011-02-28 18:04:15
哎呀!是的,我混合起来。 'putExtra'允许有许多不同类型的参数,但您必须指定要检索的类型。我已经更新了我的答案。 :) – kcoppock 2011-02-28 18:08:16
您是否输入了课程?你是否恰当地引用了V?另外,V是一个实例变量还是静态变量? – 2011-02-28 17:29:58