ANDROID在两个方法之间传递变量

时间:2015-05-18 10:14:34

标签: android

我在同一个班级有两种方法..

public static void first_method (int x,int y)
{
    int xx = x;
    int yy = y;
}


public void second_method (TextView tv)
{

}

如何将变量xx从第一种方法传递给第二种方法?

感谢

5 个答案:

答案 0 :(得分:3)

您可以这样做:

public static void first_method (int x,int y)
{
int xx = x;
int yy = y;
TextView tv = new TextView(this);
tv.setText("" + xx);
second_method(tv);
}

public void second_method (TextView tv )
{
     //do stuff with anyVar
}

当然,一种不太简单的方法是给第一个方法一个返回值。

public static int first_method (int x,int y)
{
int xx = x;
int yy = y;
return xx;
}

second_method(first_method(any_int, any_int2));

在此示例中,当您致电second_method时,会调用它,其返回值为first_method(any_int, any_int2)

答案 1 :(得分:0)

值得注意的是,您无法在静态方法中引用非静态方法。

尝试:

public  void first_method (int x,int y)
{
int xx = x;
int yy = y;
second_method(xx);

}


public void second_method (int x)
{

}

答案 2 :(得分:0)

如果您从第一种方法调用第二种方法,那么代码将是

public static void first_method (int x,int y)
{
    int xx = x;
    int yy = y;
    second_method(xx)
}

public void second_method (int xx)
{
        system.out.println(xx); // proof that xx was sent
}

但是,如果您不打算从第一个方法中调用second_method,那么只需将xx设为全局变量。

答案 3 :(得分:0)

如果您不想为被叫global parameters

设置function,则可以使用second_method()个变量
/*declare global variables*/
int global_x;  
int global_y;
public static void first_method (int x,int y)
{
    int xx = x;
    int yy = y;
    global_x = xx; /*assign value to global variable before function call*/
    global_y = yy;
    second_method (); /*values set in global variable, now call function*/
}


public void second_method ()
{
    /*Access the global variable here*/
    int temp_x = global_x;
    int temp_y = global_y;
}

答案 4 :(得分:0)

回答(此版本)问题:

I have two methods in the same class ..

public static void first_method (int x,int y)
{
    int xx = x;
    int yy = y;
}


public void second_method (TextView tv)
{

}
How I can pass the variable xx from first method to second method ?

THANKS

长话短说:你不能。你在那里的两个变量都是first_method的本地变量。通过使用参数,您可以传递它们的值,但是您不会自己传递变量(差异很大)。

至于已经给出的一些答案,建议使用全局变量':Java没有全局变量。它们指的是实例变量。

在这种情况下,你不会通过'它们,但它们将存在于两种方法都可以访问它们的范围内。执行此操作时,更改一个方法中的值将影响另一个方法中的值(当将值作为参数传递并将变量保持为本地时不会发生这种情况。)

无论如何,为了传递它们,你不能只传递一个int并期望一个方法来接收TextView的实例。