2014-06-20 4 views
0

나는 이클립스 (android)에서 작업 중이므로 OnClick 메서드에있는 변수 외부에서 호출하려고합니다. 어떻게해야합니까? 나는 반환을 사용하는 것을 생각했다 그러나 OnClick는 무효 방법이다. 여기에 변수 randomIntE를 호출하기 위해 노력하고있어OnClick 메서드에서 값 호출

backgroundE2.setOnClickListener(new View.OnClickListener(){ 
    public void onClick(View view){ 
     int randomIntE = random2.nextInt(Deck.length()); 
     int drawableIDE = Deck.getResourceId(randomIntE, -1); 
     backgroundE2.setBackgroundResource(drawableIDE); 
    } 
}); 

내 코드입니다. 모든 것이 닫히면 어떻게 할 수 있습니까? 다른 setOnClickListener에있는 다른 4 개의 변수도 호출해야합니다.

+2

귀하의 질문에 대한 이해가 충분하지 않더라도 전체 변수를 사용해야합니다. – Skynet

+0

그래,하지만 버튼을 클릭 할 때 randomIntE 값이 변경되면 값이 필요하다. 어떻게 그 특별한 가치를 부를 수 있습니까? – user3760160

+0

전역 선언 - onCLick에서 값 업데이트 - 업데이트 된 값 가져 오기? 가시성에 따라 클래스 또는 외부의 어느 곳에서나 전역 변수에 액세스 할 수 있습니다. 당신이 확인해야 할 유일한 것은 버튼이 클릭된다는 것입니다. – Skynet

답변

1

함수 외부에서 선언 된 전역 변수를 사용할 수 있습니다.

public class MainActivity extends Activity { 
    int fnsetFlag= 0; 
    backgroundE2.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View view){ 
      fnsetFlag= 1; 
     } 
    }); 
} 
+0

코드 조각을 사용하여 답변을 주석으로 작성해서는 안됩니다. 위의 내용이 옳고 효과가 있습니다. – Opiatefuchs

+0

그리고 예를 들어 값 1이 필요합니다. 나는 그것을 어떻게 되돌릴 수 있습니까? – user3760160

+1

업데이트되었습니다. 처음에는 주석이었습니다. – Skynet

0


당신은 인스턴스 변수 또는 사용하려는 코드의 조각에서 호출 할 수있는 객체에서처럼, 어딘가에 저장해야합니다.
질문을 올바르게 이해하고 싶습니다.

안드레아.