5

現在のプロジェクトでは、StateListDrawableで描画可能な子のそれぞれを反復処理する必要があります。

StateListDrawable.javaのソースコードで、次のメソッドを見つけました。

public Drawable getStateDrawable(int index)

ただし、このメソッドのアノテーションは@hideであるため、使用できません。

それで、これを達成するための代替方法はありますか?

4

1 に答える 1

5

これはかなり古い質問なので、おそらくあなたを助けるには遅すぎますが、それを見つけた他の誰かのために、私はこのコードでそれを行うことができました:

final DrawableContainer parentDrawable = (DrawableContainer) drawable;
final DrawableContainerState containerState = (DrawableContainerState) parentDrawable.getConstantState();
final Drawable[] children = containerState.getChildren();
for (int i = containerState.getChildCount(); i > 0; --i) {
    doStuff(children[i - 1]);
}
于 2013-01-29T02:45:00.750 に答える