Android: запись пользовательских представлений, поддерживающих очередь сообщений

Как вы реализуете пользовательский вид на Android, чтобы он надлежащим образом поддерживал или работал с очередью обмена сообщениями?

Я пытаюсь эмулировать поведение встроенных представлений, чтобы я мог нормально/нормально обновлять пользовательский вид с данными внутри onCreate.

В настоящее время в моем пользовательском представлении есть специальные функции набора/обновления для размещения данных в них. Проблема заключается в том, что мои представления представлений о представлении детей не инициализируются до тех пор, пока не будет вызван первый вызов onMeasure, который после выхода onCreate (который, как мне кажется, использует встроенные функции).

Поэтому я хочу знать, какая общая стратегия (то есть, какие методы переопределить) для обновления пользовательского представления из onCreate таким образом, что обновления попадают в очередь сообщений и достигают представления после того, как они были правильно созданы (как и встроенные)?

Спасибо.

Ответ 1

Посмотрите View.post():

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final TextView hello = ((TextView) findViewById(R.id.hello));
    hello.post(new Runnable() {
        @Override
        public void run() {
            hello.setText("Hello World!");
        }
    });
}