public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LayoutInflater inflater = getLayoutInflater();
LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.main, (ViewGroup) findViewById(R.id.root));
Toast toast = new Toast(getApplicationContext());
toast.setView(layout);
toast.setDuration(2000);
toast.show();
}
Этот код генерирует исключение java.lang.IllegalArgumentException: представление не привязано к оконному менеджеру.
Если я изменю строку
LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.main, (ViewGroup) findViewById(R.id.root));
до
LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.main, null);
работает просто отлично.
Может кто-нибудь объяснить мне, почему это происходит? Я новичок в платформе Android, и я просто пытаюсь понять, как работает представление и менеджер окон.
Не понимаю, почему, если корневое представление было присоединено к Activity, больше нельзя использовать для представления тостов.
Любая помощь приветствуется!
Спасибо!