2012-05-04 7 views
0

私には、ViewGroupに由来する抽象クラスClassAがあります。私はこれらのクラスにClassAを拡張したいと思いますViewGroup派生クラスでRelativeLayoutまたはLinearLayoutロジックを設定できますか?

ClassBのLinearLayoutレイアウトロジック

ClassCRelativeLayoutレイアウトロジック

では、可能なこのですか?

私は、派生方法でonLayout()onMeasure()をデフォルトのLinearLayoutまたはRelativeLayoutロジックを実装する方法が見つかりませんでした。

可能でない場合は他に解決策がありますか?

答えて

2

LinearLayoutRelativeLayoutを直接ClassBClassCに拡張する方がよいと思います。その後、ClassAのロジックを使用して、これらのクラスの動作を向上させるためにcompositionを使用します。

+0

しかし、この解決策では、導出メソッドにアクセスするためのパラメータ型として 'ClassA'を使用できません。それほどうまくいきません。 –

+0

はい、あなたができるのは委任のためです。ところで、この場合、 'ClassA'は' ViewGroup'を拡張してはいけません – Cristian

+0

私が理解すれば、 'ClassB'と' ClassC'の 'ClassA'インスタンスを使って' ClassA'メソッドにアクセスできます。右 ?しかし、 'ClassA'を' View'にキャストすることはできません。これは私の実装に何らかの問題を引き起こします。 –

関連する問題