facebook twitter hatena line email

Android/レイアウト/addViewされているか判定

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

自分自身のviewが他にaddviewされているか判定する方法

public class HogeView extends FrameLayout {
    public HogeView(Context context) {
        super(context,null);
    }

    public HogeView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public HogeView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
}

MainActivity.java;

HogeView view = new HogeView();
this.addView(view);

HogeView.java

View v = HogeView.this;
View parentv = (View) v.getParent();
View parent2v = (View) parentv.getParent();
if (parentv != null) {
    log.i(TAG, "1つ前の親viewはaddされている");
} else {
    log.i(TAG, "1つ前の親viewはaddされていない");
}
if (parent2v != null) {
    log.i(TAG, "2つ前の親viewはaddされている");
} else {
    log.i(TAG, "2つ前の親viewはaddされていない");
}

参考: http://ichitcltk.hustle.ne.jp/gudon2/index.php?pageType=file&id=Android059_ViewTree