提问人:MOHAMED SIKKANDAR AFZAL M 提问时间:12/17/2021 最后编辑:Henry TwistMOHAMED SIKKANDAR AFZAL M 更新时间:12/17/2021 访问量:205
为什么我们不能在 Android 中以编程方式将字符串 ID 设置为视图?
Why can't we set string ID to a view programmatically in Android?
问:
<WebView android:id="@+id/googleWebview"/>
在这里,我可以将 ID 设置为字符串,但如果我尝试以编程方式使用,它需要一个整数。为什么会这样?"googleWebview"
setId()
答:
2赞
Henry Twist
12/17/2021
#1
在 Android 中,所有视图 ID 都是整数 - 只是整数 ID 的标签。@+id/googleWebView
在本例中,表示它正在处理 ID 引用,这意味着这是应生成的新 ID。在后台,Android 将这些生成的 ID 存储在文件中,您可以通过编程方式访问它们。@id/
+
R
R.id.{label}
评论
0赞
MOHAMED SIKKANDAR AFZAL M
12/17/2021
谢谢,如果 Web 视图是以编程方式在 XML 中未使用的,并且我需要将 id 设置为字符串?可能吗?还是需要生成唯一 ID 并设置为它?
2赞
Henry Twist
12/17/2021
如果它根本没有在 XML 中声明,那么你可以生成一个 ID - stackoverflow.com/questions/1714297/...。但是,我没有看到很多用例。
0赞
Ivo
12/17/2021
#2
当应用程序生成时,它实际上变成了一个 int。它将进入班级。要访问之前在 xml 文件中定义的任何 id,只需编写代码即可,因此在您的情况下:"@+id/googleWebview"
R
R.id.idName
view.setId(R.id.googleWebview);
例如
评论
setTag
setId
getTag
findViewWithTag
findViewById