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!");
}
});
}