2011-03-23 7 views
0

리플렉션을 사용하여 클래스에서 최종 정적 정적 int에 액세스하려고합니다. 그러나이 클래스에는 생성자가 없습니다. 안드로이드 R.id. 이 모든 int 값을 얻으려고하지만 클래스를 만들 수 없다는 이유로 액세스 할 수 없습니다. 가능한 확장자를 생성자를 생성하는 것으로 생각하고 있었지만 이것이 현명하다는 것은 확실하지 않습니다. 어떤 제안? R.id 또는 R.array를 수정할 수 없습니다 (적어도 내가 생각하면 안됩니다).초기화없이 최종 정적 변수에 반사 액세스

고맙습니다. 모두의 존

+2

정적 변수에 액세스하는 데 생성자가 필요하지 않습니다. –

+0

가능한 중복 http://stackoverflow.com/questions/850148/accessing-java-static-final-ivar-value-through-reflection – Simeon

답변

3

이 필요합니다

Field field = R.id.class.getField("some_var"); 
int value = field.getInt(null); 
+2

요점은 정적 멤버에 액세스하기 위해 get 메서드에 "null"을 전달할 수 있다는 것입니다. – Arne

+0

@Arne, 의견 주셔서 감사합니다! –

+0

고마워요! 나는 그것을 시도했다. 그러나 널 포인터 예외를 얻는다. 코드를 가져 와서 게시해라. 고마워! – Jon

0

This 당신을 도움이 될 것입니다.

관련 문제