내 KeyboardView에 대한 사용자 정의 배경을 설정하려고합니다. XML 속성을 keyBackground으로 설정하는 방법이 될 것 같습니다.하지만 드로어 블을 확장하려고 시도 할 때 NullPointerException이 계속 발생합니다. 내 logcat에서 ResourceNotFoundException이 계속 발생합니다. 나는 무엇이 잘못되었는지 잘 모르겠다. 모든 파일은 올바른 위치에있는 것처럼 보인다. 나는 여러 당김 폴더에 넣어 것 등 내 프로젝트를 청소KeyboardView가 XML 속성을 사용하지 않습니다. keyBackground
main.xml에 파일 :
<android.inputmethodservice.KeyboardView
android:id="@+id/keyboardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:visibility="gone"
android:keyBackground="@drawable/keybg" />
keybg.xml 파일 :
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_pressed="true"
android:drawable="@drawable/keybg_pressed" />
<item
android:drawable="@drawable/keybg_notpressed" />
</selector>
이 keybg_pressed 모두 PNG keybg_notpressed 있습니다 파일
(관련) 로그 캣 :
E/AndroidRuntime(17772): FATAL EXCEPTION: main
E/AndroidRuntime(17772): java.lang.RuntimeException: Unable to start activity
ComponentInfo{MainActivity}: android.view.InflateException:
Binary XML file line #620: Error inflating class
android.inputmethodservice.KeyboardView
E/AndroidRuntime(17772): Caused by: android.content.res.Resources$NotFoundException: File
res/drawable/keybg.xml from drawable resource ID #0x7f0201a3
E/AndroidRuntime(17772): at
android.content.res.Resources.loadDrawable(Resources.java:1947)
E/AndroidRuntime(17772): at
android.content.res.TypedArray.getDrawable(TypedArray.java:601)
E/AndroidRuntime(17772): at android.inputmethodservice.KeyboardView.<init>
(KeyboardView.java:303)
E/AndroidRuntime(17772): at android.inputmethodservice.KeyboardView.<init>
(KeyboardView.java:279)
E/AndroidRuntime(17772): ... 28 more
E/AndroidRuntime(17772): Caused by: java.lang.NullPointerException
E/AndroidRuntime(17772): at
android.graphics.drawable.DrawableContainer$DrawableContainerState.
addChild(DrawableContainer.java:524)
E/AndroidRuntime(17772): at
android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable.java:278)
E/AndroidRuntime(17772): at
android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:186)
E/AndroidRuntime(17772): at
android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881)
E/AndroidRuntime(17772): at
android.graphics.drawable.Drawable.createFromXml(Drawable.java:818)
E/AndroidRuntime(17772): at
android.content.res.Resources.loadDrawable(Resources.java:1944)
E/AndroidRuntime(17772): ... 31 more