2009-08-05 20 views
2

私は、それに続く要素の親要素を親にする以下のモデルを持っています。例えば は、私はこのような配列の配列内のサーバーからデータを取得:リンクされたオブジェクトのモデルからテーブルを作成する

net  Person  age 
net  Person  height 

net  Address  streetname 

org  Company  name 

org  Company  location 

com  School  color 

com  School  number 

親切昨日のメッセージについては、以下のリンクを読んで、モデルクラスと構造を参照してください。私がこのリンクで尋ねた質問は、今私が望むものではありません。私はあなたにデータモデルと構造を見てほしい。 NOW

Comparing Linked-objects

MY質問です::

私がモデルからテーブルを作成したいが、それが困難なコンテンツとラベルのプロバイダを実装するために探しています。だから私はそれをどうやってできるのか尋ねている。 各列には、前の列の子などが含まれます。

ありがとうございます。

私は、コンテンツプロバイダでこれを試してみましたが、そのは動作していない:あなたの助けを

public Object[] getElements(Object parentElement) { 

       if(parentElement instanceof cPackage) { 
     cPackage pack = (cPackage)parentElement; 
     return pack.getChildren().toArray(); 
    }else if(parentElement instanceof cClass) { 
     cClass klas = (cClass)parentElement; 
     return klas.getChildren().toArray(); 
    }else if(parentElement instanceof cMethod) { 
     cMethod met = (cMethod)parentElement; 
     return met.getChildren().toArray(); 
    } 
     return EMPTY_ARRAY; 
} 

感謝を。

答えて

1

「動作していない」とは、常にEMPTY_ARRAYを返すことを意味している場合は、parentElementはあなたの考えではないと思われます。追加すると、メソッドの先頭に何が表示されるのかを確認してください。

System.out.println(parentElement.getClass().getSimpleName()); 

cPackage以来のサイドノートでは

cClass、およびcMethodすべてgetChildren()を実装するステートメント場合は、実際にすべてのそれらを必要としない - ちょうど

if (parentElement instanceof Model) { 
    return ((Model)parentElement).getChildren().toArray(); 
} 

はそれを行う必要があります。実際には、Modelサブクラスのみが渡されると予想される場合は、ifステートメントも除外できますが、nullを確認する必要があります。

関連する問題