내 Adapter
을 ArrayAdapter<>
에서 구현했습니다. 생성자 내에서 UUID을 키로 사용하고 이라는 또 다른 임의 클래스를 사용하는 HashMap을 사용하고 있습니다. 기본적으로, 그것은 장치 (fyi)를 가지고 객실을 가지고 SmartHome 애플 리케이션입니다. 그러나 RoomAdapter
에 대한 생성자 (https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView에 있음)의 구현은 super() - HashMaps를 사용하지 않는 메서드를 사용하고 있습니다.자체 구현의 어댑터 생성자가 hashMap.values ()를 허용하지 않습니다.
코드
public RoomAdapter(Context context, HashMap<UUID, Room> room) {
super(context, R.layout.list_item_room, room.values());
}
나는 초보자 자바 단계에서 오전, 내가 정말 찾기 위해 무엇을 모른다. 나는 room.values()
을 호출 할 때 받았던 컬렉션을 HashMap을 사용하기 전에 내가 사용했던 ArrayList로 변환하려고 시도했다.
코드의이 위치에서이 문제를 해결할 수있는 좋은 방법이 있습니까? 아니면 내 코드를 변경하고 room
에 대한 ArrayList를 사용해야합니까?
public RoomAdapter(Context context, HashMap<UUID, Room> room) {
super(context, R.layout.list_item_room, new ArrayList<>(room.values()));
}
:
이 메서드를 사용할 때마다이 오류가 발생합니다.'android.view.InflateException : 이진 XML 파일 줄 # 6 : 이진 XML 파일 줄 # 6 : 클래스'TextView'를 inflating하는 오류'convertView = inflater.inflate (R .형세.' – chriszo111
이전 문제를 수정하면 행 번호 6의 레이아웃 XML에 오류가 있음을 의미합니다. – saganaut