我现在在侧面int jj函数中声明了onConfigurationChanged,现在我想在同一类中的任何地方在onConfigurationChanged之外访问它。

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    // Checks the orientation of the screen
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
        final int jj=4;
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
        Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
        final int jj=2;
    }
}

我想像这样在同一类中访问此变量:
public class MainActivity extends Activity {
    public static int aa=jj;
}

最佳答案

将其声明为类字段。我不知道您在使用aa做什么。

public class MainActivity extends Activity {

public int jj;

@Override
public void onConfigurationChanged(Configuration newConfig) {

    super.onConfigurationChanged(newConfig);

    // Checks the orientation of the screen
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();

        jj=4;

    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
        Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();

        jj=2;

    }
}


}

从这个问题可以很明显地看出,您并不真正了解编程,OOP和Java的基础知识。

我建议您先完成一些基本教程,然后再继续,直到您了解基本对象与对象,finalstatic

您还应该了解您不能将Activity视为POJO。

10-06 02:49