English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Android setTag 메서드의 key 문제 해결 방법

android는 View 클래스를 설계할 때, 보조 정보를 저장할 수 있도록 setTag를 설계했습니다./getTag 메서드입니다. 이는 Winform 설계에서 각 Control이 Tag를 가지고 있다는 것을 기억나게 합니다.

오늘 말하고 싶은 것은 최근에 학습한 Android에서 만난 setTag의 문제입니다. 일반적으로 우리는 유일한 매개변수의 setTag 메서드를 사용하면 됩니다. 하지만 여러 데이터를 저장해야 할 때에는 key를 포함한 오버로드를 사용해야 합니다.

문서는 다음과 같이 설명합니다: “지정된 키는 애플리케이션의 자원에서 선언된 id여야 하며 유일성을 보장하기 위해 (ID 자원 유형 참조) throws IllegalArgumentException가 발생합니다. Android 프레임워크에 속하는 것으로 식별된 키나 어떤 패키지와도 연관이 없는 키는 IllegalArgumentException가 발생합니다.”

이것은 key의 유일성을 보장해야 한다는 것이 설명되고 있습니다. 하지만 우리가 java 상수로 key를 정의하는 경우() 1;) 그럼에도 불구하고 다음과 같은 오류가 발생할 수 있습니다:

java.lang.IllegalArgumentException: The key must be an application-특정 리소스 아이디

정확한 해결 방법은 다음과 같습니다:

res/values/strings.xml에서 다음과 같이 key 상수를 정의합니다:

  <resources>
    <item type="id" name="tag_first"></item>
    <item type="id" name="tag_second"></item>
  </resources>

사용 방법은 다음과 같습니다:

  imageView.setTag(R.id.tag_first, "Hello");
  imageView.setTag(R.id.tag_second, "Success");

이것이 Android setTag 메서드의 key 문제를 해결하는 방법입니다. 여러분의 사이트 지원에 감사합니다!

고지사항: 본 내용은 인터넷에서 가져왔으며, 원작자의 소유물로, 인터넷 사용자가 자발적으로 기여하고 업로드한 내용으로, 이 사이트는 소유권을 가지지 않으며, 인공적으로 편집되지 않았으며, 법적 책임도 부담하지 않습니다. 저작권 문제가 있는 내용을 발견한 경우, notice#w로 이메일을 보내 주시기 바랍니다.3codebox.com(메일을 보내는 경우, #을 @으로 변경하십시오. 신고하고 관련 증거를 제공하시면, 해당 내용이 검증되면 즉시 해당 내용을 제거합니다。)

좋아하는 것