onFinishInflate ()
Завершение надувания представления из XML .Это называется последней фазой инфляции, после добавления всех дочерних представлений.
Когда вы создаете свое представление с помощью кода (new ...
), вы не надуваете его ... с другой стороныстороны, если вы объявляете это в XML или используете что-то вроде getLayoutInflater().inflate(R.layout.your_view,null,null);
, то вы накачиваете его (и onFinishInflate
) будет вызываться.
Неважно, как вы это делаете, onDraw
метод всегда будет вызываться;так что вам не нужно вызывать его вручную.
Кстати ... всегда неплохо сохранить свое собственное представление о XML, даже если ему нужны данные.Таким образом, у вас есть как минимум две опции:
setContentView(R.layout.your_layout);
YourCustom custom = (YourCustom)findViewById(R.id.custom);
custom.setUserData(userData);
или ... вы можете получить эти данные из пользовательского представления (не рекомендуется):
// inside your custom view...
UserData userData = Someclass.getUserData(getContext());
// etc... so that you don't have to pass it from the activity