나는 서로 크게 다른 많은 맞춤 개체를 가지고 있습니다. 이러한 개체는 다른 목록에 저장되며 다른 ListView에 표시됩니다. 이러한 ListView의 디자인으로 인해, 나는 자신의 커스텀 ArrayAdapter를 생성해야한다. 문제는 ListView 디자인은 목록의 개체와 관계없이 모든 ListView에 대해 동일하게 간주됩니다.Android : 다른 맞춤 개체 용 맞춤 ArrayAdapter (들)
이렇게하기 위해 모든 유형의 객체에 대해 ArrayAdapter를 만들었습니다. 예 : 커스텀 객체 인 coA를 위해 나는 ArrayAdapter coAAdapter를 만들었고, 커스텀 객체 인 coB를 위해서 나는 ArrayAdapter coBAdapter를 만들었다. 제외하고 이러한 어댑터 사이에 차이가 옆에 있기 때문에 이것은 나에게 매우 불필요한 보이는 ArrayAdapter와 종류의 사용자 정의 확장 어댑터 및 생성자 : 클래스 CoA를위한
어댑터 : 클래스 COB에 대한
public class CoAAdapter extends ArrayAdapter<CoA> {
public CoAAdapter (Context context, int resource, List<CoA> objects) {...}
}
어댑터 :
public class CoBAdapter extends ArrayAdapter<CoB> {
public CoBAdapter (Context context, int resource, List<CoB> objects) {...}
}
이 사용하는 가정하는 방법을 사용자 정의 ArrayAdapters, 아니면 모든 사용자 정의 개체에 대한 하나의 사용자 정의 ArrayAdapter와있는 같이 많은 간단한이 디자인을 만들 수있는 방법은 무엇입니까?
일반 사용자 정의 어댑터를 작성하거나 내 사용자 정의 오브젝트에 대한 공통 기본 클래스를 작성하여 상속을 사용하는 것과 같은 몇 가지 다른 솔루션에 대해 생각해 보았습니다. 그러나 일부 연구 후에는 이들 중 아무 것도 좋은 접근 방법이 아닙니다.
의 모든의 ListView 당신의 행에 대해 동일한 레이아웃을 사용하십니까? – Apoorv
모든 개체에 적합한 하나의 인터페이스를 만들고 필요한 모든 데이터를 그릴 수 있습니다. 그런 다음 해당 인터페이스의 어댑터를 작성할 수 있습니다. – Gooziec
@Apoorv 예, 다소 차이가 있습니다. 나는 텍스트 색상 만 다른 목록 항목에 대한 몇 가지 레이아웃을 가지고 있지만, 그렇지 않은 경우에는 동일합니다. – HigiPha