首先,请任何人可以告诉我是否可以在没有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
答案 0 :(得分:5)
是否可以在没有XML的情况下给视图充气?
没有。 定义的术语"通货膨胀"在Android中是将XML资源文件转换为相应的Java对象树。布局膨胀将XML布局资源转换为View
对象的相应树。
但我无法将其设置为setContent()
我不知道你指的是什么setContent()
方法。将View
作为Activity
,use setContentView()
的主要内容。
答案 1 :(得分:-1)
您的xml布局有问题,这就是为什么您无法访问R.layout,执行Build - >清理并查看xml布局中是否有任何错误或在此处发布您的xml。