Android - Как настроить дочерние виды внутри группы просмотра - PullRequest
0 голосов
/ 31 августа 2010

Может ли кто-нибудь помочь мне с моим синтаксисом / методологией? Я хотел бы создать кучу разных видов в группе. Мой код не работает в методе addView.

К сожалению, я не могу найти гнездо для примеров (как я учусь), используя класс ViewGroup онлайн.

Спасибо всем.

public class TileView extends ViewGroup {
private TestClass mTestClass;
    public TileView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        initViews();
    }
    public TileView(Context context, AttributeSet attrs) {
        super(context, attrs);
        initViews();    
    }
    public void initViews() {
        addView(mTestClass);        
    }
    @Override 
    protected void onLayout(boolean changed, int l, int t, int r, int b) 
    { 
    }
}

public class TestClass extends View{

public TestClass(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

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

public TestClass(Context context) {
    super(context);
}

}

1 Ответ

1 голос
/ 31 августа 2010

Прежде всего вы должны проверить свой собственный XML-файл макета. По сообщению об ошибке строка № 6 неверна. Вторая проблема заключается в том, что вы не инициализировали объект mTestClass в исходном коде группы представлений. Если вы хотите получить дочернее представление, вы можете использовать метод getChildAt (int) в группе представления. Это простой пример,

int count = getChildCount();

for (int i = 0; i < count; i++) {
    View child = getChildAt(i);
}

И это полный исходный код? Я думаю, вам следует реализовать метод onMeasure и onLayout в экземплярах ViewGroup и View.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...