큰 응용 프로그램을 만들고 있는데, 대부분 3 개의 활동과 ListView 구성 요소로 이루어져 있습니다.활동 목록보기 - android
MainActivity -> FirstActivity 다시
MainActivity -> SecondActivty 다시
은 세 가지가 특정 목록보기 항목을 나열 내부의 ListView 구성 요소를 가지고있다.
나는 모든 속성 내부 기계의 메인 활동이 작성 될 때, 그들 중 일부는 계산을 보유하고 MyMachine을라는 싱글 클래스가 있습니다.
은 내가 여기을 달성하고자하는 목록 주 제 1 및 제 2 활동의 시스템의 모든 관련 속성입니다. 그것의 3 개의 그룹에서 동일한 것의 속성을 분류하는 것.
내가 직면 한 문제는 : 나는 각각의 ListView 항목에 클릭 이벤트를 원하는
. 하지만 Listener는 ListView 항목의 정수 키를 제공합니다. 이는 컴퓨터의 모든 속성이 특정 정수 키와 매핑되어야 함을 의미합니다. 그러나 FirstActivity의 항목 1이 주 활동의 항목 0 인 경우 클릭하면 잘못된 값이 인쇄됩니다.
더 좋은 방법이 있나요?
기본적으로 문자열 값을 매핑하고 모든 활동에서 ListView 항목을 클릭하면 대화 상자 창에 올바르게 표시하는 방법을 설명합니다. 나는이 특정 목적을 위해 기능을 개발할 수 있지만, 더 간단한 방법 :이
SimpleAdapter를 사용하지만 getItemId()는 int가 아니라 long을 반환합니다. 그리고 itemId와 어떻게해야할까요? 다음에 :) 좋습니다. 정수가 아닌 Long으로 매핑 할 것입니다. – Vlad
@Vlad이 클래스는 데이터베이스와 함께 작동하도록 설계되었으므로 ID가 길 수 있습니다.이것은 3 개의 모든 활동 목록보기에서이 패턴을 따르는 경우 목록보기에서 항목이 정렬되는 방법과 관계없이 데이터베이스에서 '항목 ID'와 동일합니다. –
이것이 어떻게 도움이되는지 잘 모르겠습니다. 클릭 된 목록 항목의 색인을 제공하는 onItemClick 함수의 세 번째 매개 변수를 사용하는 것과 동일한 작업입니다. 내가 생각할 수있는 유일한 것은 Object item = adapterView.getItemAtPosition (i); 그런 다음 항목 객체를 구문 분석하고 내 HashMap에서 검색하십시오. 또는 나는 이해하지 않는다. –
Vlad