我在一些基本的 Android/Java 开发中遇到了一些语义问题。如果我有以下代码(有效)从 textfield
收集用户输入:
final EditText userInput=(EditText) findViewById(R.id.txtUserInput);
userInput 是对象还是变量?我的理解是它是从 *EditText * 类实例化的对象。 (EditText)
在 findViewById
的左边做了什么。当我看到开括号时,我会想到类型转换。谁能提供一些简单的说明?
最佳答案
您说 userinput 是一个 EditText 对象是正确的,更具体地说,它是一个作为 View 子类的对象。从 findViewbyId() 方法返回的所有内容都将是一个 View ,然后您需要将其转换为正确的对象。 (EditText) 正在将您从 xml 返回的 View 转换到 EditText。这允许您从 EditText 访问特别适用于 EditText 类的方法。
因此,无论何时使用 findViewById(),您还需要将获得的 View 转换为它所代表的对象。
如果您需要进一步的帮助,请告诉我。
-德扬
关于android - 语义 - Android EditText 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19838602/