繁体   English   中英

在Android中为没有XML的视图充气

[英]inflate a view without XML in Android

首先,请任何人可以告诉我,是否可以在没有XML的情况下扩大视图?

描述是这样的:
我已经通过编码动态生成了视图层次结构,例如

Relative layout contain 4 Linear layouts
-1st Linear Layout contain Image View
-2nd Linear Layout contain surface view
-3rd Linear Layout contain Button
-4th Linear Layout contain Text Box

并且生成所有视图/视图层次结构都没有问题(我通过调试和检查子视图进行了测试)

但是我无法将其设置为setContent()
因为我没有XML并且不允许使用XML(不确定原因),即我无法访问R.Layout。 所以我不能使用inflater.Inflate(R.Layout ...)

当我将主要相对布局设置为内容时,出现以下错误

12-16 11:32:03.653: E/AndroidRuntime(22564): java.lang.RuntimeException: Unable to start activity ComponentInfo{my.package.class}: android.content.res.Resources$NotFoundException: Resource ID #0x1d97b

有人知道吗?

----更新的日志----
12-16 12:33:16.143: E/AndroidRuntime(25358): FATAL EXCEPTION: main 12-16 12:33:16.143: E/AndroidRuntime(25358): java.lang.RuntimeException: Unable to start activity ComponentInfo{my.package.class}: android.content.res.Resources$NotFoundException: Resource ID #0x1d97b 12-16 12:33:16.143: E/AndroidRuntime(25358): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2343) 12-16 12:33:16.143: E/AndroidRuntime(25358): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395) 12-16 12:33:16.143: E/AndroidRuntime(25358): at android.app.ActivityThread.access$600(ActivityThread.java:162) 12-16 12:33:16.143: E/AndroidRuntime(25358): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364) 12-16 12:33:16.143: E/AndroidRuntime(25358): at android.os.Handler.dispatchMessage(Handler.java:107) 12-16 12:33:16.143: E/AndroidRuntime(25358): at android.os.Looper.loop(Looper.java:194) 12-16 12:33:16.143: E/AndroidRuntime(25358): at android.app.ActivityThread.main(ActivityThread.java:5371) 12-16 12:33:16.143: E/AndroidRuntime(25358): at java.lang.reflect.Method.invokeNative(Native Method) 12-16 12:33:16.143: E/AndroidRuntime(25358): at java.lang.reflect.Method.invoke(Method.java:525) 12-16 12:33:16.143: E/AndroidRuntime(25358): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 12-16 12:33:16.143: E/AndroidRuntime(25358): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 12-16 12:33:16.143: E/AndroidRuntime(25358): at dalvik.system.NativeStart.main(Native Method) 12-16 12:33:16.143: E/AndroidRuntime(25358): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x1d97b
希望它可以帮助您了解更多

---我的活动类的Dropbox链接会生成视图---
https://www.dropbox.com/s/vclymo0cs0zp360/ScannerActivity.java?dl=0

没有XML可以膨胀视图吗?

否。Android中术语“通货膨胀”的定义是将XML资源文件转换为相应的Java对象树。 布局膨胀将XML布局资源转换为相应的View对象树。

但是我无法将其设置为setContent()

我不知道您指的是什么setContent()方法。 要将View作为Activity的主要内容,请使用setContentView()

xml布局有问题,这就是为什么您无法访问R.layout,进行Build-> clean并查看xml布局中是否存在任何错误或将xml发布到此处的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM