LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
(ViewGroup) findViewById(R.id.toast_layout_root));
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("This is a custom toast");
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
这是一系列创建自定义吐司(来自:http://developer.android.com/guide/topics/ui/notifiers/toasts.html)
它工作正常,但我不知道为什么要使用代码
(ViewGroup) findViewById(R.id.toast_layout_root)
我认为findViewById
方法运行查找视图“present”元素,
所以该方法返回null,
这意味着,无意义的代码,不是吗?
为什么我想知道问题是我尝试在服务中使用创建自定义吐司
服务没有findViewById,你知道,
所以我只是尝试膨胀(id,null)导致我的布局坏了,</ p>
我已阅读http://www.doubleencore.com/2013/05/layout-inflation-as-intended/文章。
如果没有布局参数丢失信息,我怎样才能正常充气