私は他のオブジェクトの親または子になることができるオブジェクトを持っています。それはクライアントの代表です。このように見えるAndroid - ツリー構造でデータを表現してトラバースする最良の方法
public class Site
{
public int SiteId;
public List<Site> Children;
public Site Parent;
}
Parent
がnullの場合、最上位またはルートオブジェクトです。すべてのオブジェクトに子があるわけではありません。私たちは、サイトの下位レベルの数に制限を課すことはありません。私たちのアプリケーションは、ユーザーや他のデータがツリー内のどこにあるルートノードでも子ノードでも、特定のサイトに結びついているように設計されています。このため、正しいデータを取り戻すためにユーザーが作業しているサイトを知る必要があります。
私の質問は、このツリーをユーザーが通過できるようにするための最良の方法は何ですか?ノードがたくさんあるので、すべてを返すことは望ましくないでしょう。モデルオブジェクト内のすべての子を返すのではなく、代わりに、サイトに子がある場合のブール値を返すだけです。ユーザーがそのオプションをクリックすると、私の計画はそのノードの子ノードを取得し、選択のためにそれらを表示することでした。
ListView
は、ほとんどの設定メニューと同様の方法で、矢印が表示されている場合に表示されます。私もMenu
を見ましたが、私はこれを行う最良の方法は不明です。