자원 ID에서 자원 이름을 얻는 방법 가이 id (radioButton의 ID)를 반환한다고

내 레이아웃에서 나는 이와 같은 것을 정의했다.

<RadioButton
    android:id="@+id/radio1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Dnt want this text" />

활동의 일부 함수 가이 id (radioButton의 ID)를 반환한다고 가정하십시오. 이제이 ID 에서이 텍스트 radio1 을 가져 오려고 합니다. 간단히 말해서 나는 작성된 radio1 텍스트를 검색하고 싶습니다 .android:id="@+id/radio1"

누군가가 어떻게 가능한지 말해 줄 수 있습니까?



답변

활동에서 다음을 시도하십시오.

  1. 다음과 같은 문자열을 얻으려면 radio1:

    getResources().getResourceEntryName(int resid);
  2. 다음과 같은 문자열을 얻으려면 com.sample.app:id/radio1:

    getResources().getResourceName(int resid);

코 틀린에서 지금 :

val name = v.context.resources.getResourceEntryName(v.id)


답변

당신은이 ID ( ‘긴’타입) 액세스 라디오 버튼에 당신이 원하는 ID와 ID (이름) 입니다 radio1을 . 당신은 이것을 사용합니다

getResources().getResourceEntryName(id);

위에서 사용하면 라디오 버튼의 이름, 즉 radio1을 얻을 수 있습니다. here 매개 변수 id는 (long type) 입니다. 이것을 시도하면 100 % 도움이 될 것입니다.


답변

코 틀린 :

val name = v.context.resources.getResourceEntryName(v.id)


답변

내가 옳다면, 검색하고자하는 것은 “radio1″(id 자체에서)입니까? 그렇다면 먼저 ID를 가져와야합니다.

int intname= buttonname.getId();

그런 다음 결과를 얻으십시오

String stringname= getResources().getResourceEntryName(intname);

내가 도와줬으면 좋겠다


답변

당신은 당신이 ID의 문자열 텍스트를 가져 가고 싶다는 것을 의미합니까?

정의 했으므로 이것이 무엇인지 알아야합니다.

레이아웃이 있고보기에 특정 ID가 있는지 확인하려는 경우 각 레이아웃의 ID를 찾고자하는 ID 인 경우 전체 레이아웃을 탐색하고 getId ()로 확인할 수 있습니다.

이것이 도움이되기를 바랍니다 (귀하의 질문을 올바르게 이해하면 .. :))


답변