다른 개체의 부모 또는 자식이 될 수있는 개체가 있습니다. 그것은 클라이언트의 대표입니다. Parent
는 상위 수준 또는 루트 객체 인 null의 경우는이Android - 트리 구조에서 데이터를 표현하고 트래버스하는 가장 좋은 방법
public class Site
{
public int SiteId;
public List<Site> Children;
public Site Parent;
}
것 같습니다. 모든 물체에 어린이가있는 것은 아닙니다. 사이트가 얼마나 많은 수준으로 내려갈 수 있는지에 대한 제한을 두지 않습니다. 우리의 응용 프로그램은 사용자 및 기타 데이터가 트리의 어디에서나 루트 또는 자식 노드이든 관계없이 특정 사이트에 연결되도록 설계되었습니다. 이런 이유로 나는 사용자가 정확한 자료를 철회하기 위하여 일하고있는 위치를 알아야한다.
내 질문은 사용자가이 트리를 통과하도록 허용하는 가장 좋은 방법은 무엇입니까? 많은 노드가 있으므로 모든 것을 반환하는 것이 바람직하지 않습니다. 이제는 모델 객체에있는 모든 자식을 반환하는 대신 사이트에 자식이있는 경우 단순히 부울 값을 반환하는 것입니다. 그런 다음 사용자가 해당 옵션을 클릭하면 해당 노드의 하위 노드를 가져와 선택을 표시하는 계획을 세웠습니다.
ListView
은 비슷한 옵션으로 표시되는 화살표가있는 대부분의 설정 메뉴와 비슷한 방식으로 사용하려고 생각했습니다. 나는 또한 Menu
을 보았지만이 작업을 수행하는 가장 좋은 방법은 확실치 않습니다.