2016-09-03 6 views
-2

앱을 빌드/실행할 때 "2131165360"이 "LegKick Block 1"이 아닌 목록보기 위치에 나타납니다. 이 코드를 입력하면 왜 이런 일이 발생합니까?R.string. ArrayList에서 사용 되나요?

arrayList.add(String.valueOf(R.string.legkick_block1)); 

내가이 일을함으로써 내 문제를 해결할 수 있지만 오히려보다는 문자열 값을 잡아 줄을 하드 코딩 :

arrayList.add("LegKick Block 1"); 

거기 접근 방식을 (A)의 값을 넣어 배열 목록의 문자열?

+0

아마도 : "작동하지 않기"때문에 ... 문제에 대한 유용한 설명이 아닙니다. 이러한 "작동하지 않는"질문을 작성하는 방법을 이해하려면 도움말 센터를 참조하십시오. – GhostCat

+0

R.string 파일에 문자열 배열을 만들 수도 있습니다 –

답변

2

사용 list.add(getString(R.string.legkick_block1));

R.string.any_string 

는 정수 값이 getResource().getString(R.string.any_string) 아니면 목록에 추가 할 수있는 정수 자원에 매핑 된 문자열 객체를 반환 단순히 getString(R.string.any_string)를 사용해야 자원을 반환

+1

추가 설명 ... 설명 ... – GhostCat

+0

굉장하고 감사합니다 Nishant Pardamwar! 유령 캣, 친절하게 설명해 줄 수 있니? 아니면 큰 비밀입니까? –

+0

예, 내 게시물을 설명과 함께 업데이트했습니다. –

1

때문에 R.string은 정수를 반환하며, 단독으로 String 값으로 사용할 수 없습니다. 대신 다음을 수행하십시오

getString(R.string.legkick_block1) 

그것은 (이 경우)의 문자열 값을 검색 legkick_block1

참고 : 당신은 작동 할 활동을 참조해야합니다. 의미는 Activity 내에서 사용되거나 하나를 참조해야한다는 의미입니다.

관련 문제