2013-08-28 1 views
1

왜이 문장에서 컴파일 오류가 발생합니까?int를 setMessage (String) 메서드에 전달할 수 없습니다.

this.message.setMessage(R.string.game_over); 

오류 님에게 메일 :

The method setMessage(String) in the type Messages is not applicable for the arguments (int) 

나는 문자열을 파일에 존재하는 내 입술에서 문자열을 사용하고 싶습니다. arg가 int 인 것을 알고 있지만 사이트에서 읽는 방법입니다.

+0

xml 파일에 지정한 문자열 값의 R.string.game_over는 정수입니다. –

+0

* 문자열 파일에 존재하는 내 res의 문자열을 사용하고 싶습니다. arg가 int 인 것을 알지만 이것이 내가 사이트에서 읽는 방법 * 당신이 따라 다니는 튜토리얼 및/또는 제안 된 코드를 테스트하지 않은 코드를 만난 모든 사이트처럼 보입니다. –

답변

3

int는 resourceID입니다. String을받을 것으로 예상 setMessage

this.message.setMessage(getResources().getString(R.string.game_over)); 
+0

가 좋은 생각을 보이지만 그것은 나에게 번호를 표시 (지금 어떤 컴파일 오류가없는 ..) 'gameThread = 새로운 PingPongGame (this.getResources())'PingPongGame에서 : 'this.res의 = 입술; this.message.setMessage (res.getString (R.string.game_over)); ' – user1932595

+0

어디서 오류가 발생하고 무엇이 오류 메시지입니까? – Klaasvaak

+0

오류가 아니지만 numer 및 앱의 문자열이 표시되지 않습니다. І – user1932595

1

방법 : 당신은 ID가 나타내는 문자열을 얻을 수 있습니다. 그러나 정수를 보내고 있습니다.

보다 구체적으로 말하면 리소스 키인 정수를 문자열로 보냅니다. 원하는 문자열을 얻으려면 다음을 수행해야합니다.

Context myContext = getApplicationContext(); 
this.message.setMessage(myContext.getString(R.string.game_over)); 
+0

아마도 위의 의견에 나를 대답 할 수 있습니까? – user1932595

+0

그래서 내가 넣은 코드를 사용할 때, 화면에 무엇을 얻는 지, 위의 설명을 따르려 고 애썼다. 미안하다. –

+0

코드에서 "this"가 무엇입니까? 일반 클래스 확장 코드에서이 코드를 원합니다. – user1932595

관련 문제