2015-02-01 4 views
0

함수에서 int jj을 선언했습니다. 이제 같은 클래스의 외부에 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; 
} 

답변

2

클래스 필드로 선언합니다. 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와 자바의 기초를 이해하지 못하는 질문에서 분명하다.

원시와 개체, finalstatic을 이해할 때까지 계속하기 전에 기본 자습서를 완료하는 것이 좋습니다.

Activity을 POJO처럼 처리 할 수 ​​없다는 것도 이해해야합니다. 그런 다음

public class GlobalVariables { 
    public static int jj = 0; 
} 

단순히 GlobalVariables.jj

예를 호출하여 모든 곳에서 액세스 할 수 있습니다

+0

내가 원하는 건'onConfigurationChanged'에서 int를 정적 변수로 전달하고 싶습니다. 주 : aa는 static int입니다. – user2033281

+0

당신이 주어진 조언과 답변을 듣지 않으면, 내가 당신을 도울 수 없습니다. 이전 질문에서 이미 다른 클래스의 'Activity'에 접근해서는 안되기 때문에 '정적'을 사용해서는 안된다고 설명했습니다. 학습에 관심이 없다면 도움을주는 데 관심이 없습니다. – Simon

0

글쎄, 당신은 전역 변수를 유지하기 위해 클래스를 만들 수 있습니다

if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
     GlobalVariables.jj=4; 
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { 
     Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
     GlobalVariables.jj=2; 
    } 

public static int aa= 0; 
    ... 
    aa = GlobalVariables.jj; 

는 그러나, 나는 강력하게 사이먼에 동의합니다. 당신이 물어 본 것은 짐 우드 원칙 몇 가지와 제안 된 해결책이 과잉이라고 확신하기 때문에 객체 지향 디자인의 기초를 연구해야합니다.