获取运行时可用的 TextField 列表?
Get a list of TextFields that are available during runtime?
我正在使用一个名为 Proteus 的 android 库,它会在 运行 时间内使用我们服务器上的 JSON 文件扩充布局。该库允许数据绑定,但我的问题是如何在使用我的应用程序时从这些字段中获取数据?我无法引用布局的任何标识符,因为它们在编译期间不存在。当 (R.id.input) 直到 运行 时间才真正存在时,有没有办法忽略语句中的错误?:
View view = inflater.infalte(R.layout.fragment_form, container, false);
TextView textView = (TextView)view.findViewById(R.id.input);
或者可能以编程方式获取 运行 时间内所有可用唯一标识符的列表?任何信息都会有帮助。谢谢。
proteus 在运行时生成视图 ID,这与 Android XML 布局在编译时生成的 int
ID 不同。与Android不同,proteus创建的View的ID是基于String
,R.id.<something>
是行不通的。
Proteus 提供实用方法来通过它的 String
id 查找视图。
布局:
{
"type": "TextView",
"id": "myId"
}
Java:
View view = proteusView.getViewManager().findViewById("myId"); // can be null
返回的视图也可以是ProteusView
更多信息请参考the wiki。
The wiki is slightly outdated, the answer above is for 5.0.0-rc11
release and above. The wiki should be updated soon.
我正在使用一个名为 Proteus 的 android 库,它会在 运行 时间内使用我们服务器上的 JSON 文件扩充布局。该库允许数据绑定,但我的问题是如何在使用我的应用程序时从这些字段中获取数据?我无法引用布局的任何标识符,因为它们在编译期间不存在。当 (R.id.input) 直到 运行 时间才真正存在时,有没有办法忽略语句中的错误?:
View view = inflater.infalte(R.layout.fragment_form, container, false);
TextView textView = (TextView)view.findViewById(R.id.input);
或者可能以编程方式获取 运行 时间内所有可用唯一标识符的列表?任何信息都会有帮助。谢谢。
proteus 在运行时生成视图 ID,这与 Android XML 布局在编译时生成的 int
ID 不同。与Android不同,proteus创建的View的ID是基于String
,R.id.<something>
是行不通的。
Proteus 提供实用方法来通过它的 String
id 查找视图。
布局:
{
"type": "TextView",
"id": "myId"
}
Java:
View view = proteusView.getViewManager().findViewById("myId"); // can be null
返回的视图也可以是ProteusView
更多信息请参考the wiki。
The wiki is slightly outdated, the answer above is for
5.0.0-rc11
release and above. The wiki should be updated soon.