Java:如何从具有多个参数的方法中调用一个参数
若我的问题很愚蠢,那个么很抱歉,但我在从参数很少的方法调用变量时遇到了问题Java:如何从具有多个参数的方法中调用一个参数,java,android,Java,Android,若我的问题很愚蠢,那个么很抱歉,但我在从参数很少的方法调用变量时遇到了问题 public void onAccelSensorChanged(long axisX, long axisY, long axisZ) { accelx = axisX; accely = axisY; accelz = axisZ; accelText.setText("\nACCELEROMETER: \nX: " + axisX + "nm/s^
public void onAccelSensorChanged(long axisX, long axisY, long axisZ) {
accelx = axisX;
accely = axisY;
accelz = axisZ;
accelText.setText("\nACCELEROMETER: \nX: " + axisX + "nm/s^2 || Y: " + axisY + "nm/s^2 || Z: " + axisZ +"nm/s^2");
}
好的,我需要调用变量accelx,accely,accelz,但它们都在代码的其他地方。。在java中有什么简单的方法可以做到这一点吗
我需要这样做:
case 0xf41f1000: /*pongiGetAccelerateX()*/
//i need call accelX in below 'pongiGetAccelerateX method, but now it returned 0
result = spnNative.pongiGetAccelerateX(accelX);
break;
------编辑----
我的班级:
public class SPN_API implements onAccelSensorChanged{
private SPN_native spnNative;
public long accelX, accelY, accelZ;
public SPN_API() {
spnNative = new SPN_native();
}
public byte[] invoke_command(int commandId, int argsImageLength, int actualNrOfArgs) {
byte[] result = null;
switch(commandId){
case 0xf41f1000: /*pongiGetAccelerateX()*/
//i need call accelX in below 'pongiGetAccelerateX method, but now it returned 0
result = spnNative.pongiGetAccelerateX(accelX);
break;
case 0xf51f1000: /*pongiGetAccelerateY()*/
result = spnNative.pongiGetAccelerateX(accelY);
break;
case 0xf61f1000: /*pongiGetAccelerateZ()*/
result = spnNative.pongiGetAccelerateX(accelZ);
break;
}
return result;
}
@Override
public void onAccelSensorChanged(long axisX, long axisY, long axisZ) {
accelx = axisX;
accely = axisY;
accelz = axisZ;
}
}
您可以返回值并将其作为参数传递到另一个函数中,也可以在类作用域中使用全局变量,以便可以从任何位置访问和更改该值。确保类
实现SensorEventListener
然后删除AccelSensorChange上的,并将其复制到中
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){
accelX = event.values[0];
accelY = event.values[1];
accelZ = event.values[2];
}
}
它们在代码中的什么位置?同一班还是其他班?请输入声明这些变量的代码以及两个类之间的关系(如果分开),我添加了我的类的全部代码。也许现在你可以帮我。:)你知道,它们是在类中全局定义的,所以所有方法都可以访问它们;例如,在result=spnNative.pongiGetAccelerateX(accelX);-它总是显示0,因此0被传输到pongiGetAccelerateX,而我的整个项目不工作。如果它为0,则您不会更改或初始化该值。