2014-12-15 3 views
1

우선, XML없이 뷰를 팽창시킬 수 있다고 말해 줄 수 있습니까?

설명이 같다 :
는 I 동적안드로이드에서 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 

같이 부호화하여 뷰 계층을 생성 한 모든 뷰/뷰 구조를 생성에는 문제가 없다 (I는 디버깅 검사 아이 뷰에서 테스트)

는하지만이의 setContent로 설정할 수 없습니다입니다()
내가 XML을 가지고 있지 및 XML을 사용하는 것이 허용되지 않기 때문에 (이유는 확실하지), 즉 내가 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

사람이 어떤 생각을 가지고 다음 나는 내용으로 주요 상대 레이아웃을 설정하고 때

, 나는 점점 오전 (... R.Layout) inflater.Inflate를 사용하지 못할? 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

는 당신이 뷰를 생성하는 내 활동 클래스의 좀 더

--- 보관 용 링크를 이해하는 데 도움이 될 희망 로그인 업데이트

---- ---- ---
https://www.dropbox.com/s/vclymo0cs0zp360/ScannerActivity.java?dl=0

+2

몇 가지 질문 : 1. XML로보기를 정의 할 수없는 이유는 무엇입니까? 2. 이러한보기를 만들고 설정하는 방법에 코드를 게시 할 수 있습니까? – Naveed

+0

"다음과 같은 오류가 발생합니다"- 도움이 필요하면 질문을 편집하여 전체 스택 추적과 레이아웃 생성과 관련된 코드를 포함시켜야합니다. 우리는 당신이 이것을 다른 방법으로 도울 수있는 방법이 없습니다. – CommonsWare

+0

@CommonsWare는 답장을 보내 주셔서 감사합니다. 원본 질문을 전체 logcat으로 업데이트했으며 소스 파일이 첨부되었습니다. 제 활동은 제 3 자 jar 라이브러리의 ** CaptureActivity **를 확장하고 추상적 인 방법으로 레이아웃을 설정하고 있습니다. –

답변

5

XML없이보기를 확장 할 수 있습니까?

아니오 정의 안드로이드 용어는 "인플레이션"의 자바 객체의 대응 트리에있는 XML 리소스 파일을 변환하는 것입니다. 레이아웃 인플레이션은 XML 레이아웃 리소스를 View 개체의 해당 트리로 변환합니다.

는하지만이의 setContent()

나는 당신이 언급하는 것이 무엇인지 setContent() 방법을 모르는로 설정할 수 없습니다입니다. ViewActivity의 주 내용으로 사용하려면 use setContentView().

+0

그냥 실수 였어. setContentView() –

0

R.layout에 액세스 할 수없는 XML 레이아웃에 문제가 있습니다. 빌드 -> 정리를 수행하고 XML 레이아웃에 오류가 있는지 확인하거나 여기에 XML을 게시하십시오.