我注意到Android中有一个奇怪的东西。我不能使用像getText()
这样的EditText函数 - 例如,当我输入:
final EditText txtUser = (EditText) inflater.inflate(R.layout.layout_dialog, null).findViewById(R.id.txtUsername);
当我使用时:
View v = inflater.inflate(R.layout.layout_dialog, null);
final EditText txtUser = (EditText) v.findViewById(R.id.txtUsername);
一切正常。我注意到inflater.inflate(R.layout.layout_dialog, null);
返回视图,所以当我不使用视图实例时,我不明白为什么我不能使用getText()
函数。
谢谢。
答案 0 :(得分:0)
您正在膨胀自定义对话框。因此,为了使用其组件,首先需要将其初始化为View。
如果要使用其他类的方法,则必须首先创建该类的实例。
在第一个代码中,您尚未将inflater.inflate(R.layout.layout_dialog,null);
声明为类型View
,因此编译器不知道您打算使用什么。
但在第二段代码中,您已将inflater.inflate(R.layout.layout_dialog,null);
声明为View
类型,因此您可以使用适用于View
类的方法。