Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中创建软键盘时出错_Java_Android_Soft Keyboard - Fatal编程技术网

Java 在android中创建软键盘时出错

Java 在android中创建软键盘时出错,java,android,soft-keyboard,Java,Android,Soft Keyboard,这是我的资源文件res/layout/input.xml。My.application-我的android程序的名称 <my.application.android.inputmethodservice.KeyboardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/keyboard" android:layout_alignPa

这是我的资源文件res/layout/input.xml。My.application-我的android程序的名称

<my.application.android.inputmethodservice.KeyboardView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/keyboard"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
应用程序编译没有错误。当我在任何android应用程序中调用软键盘时,我会遇到下一个错误:

12-12 09:07:39.183: E/AndroidRuntime(25341): FATAL EXCEPTION: main
12-12 09:07:39.183: E/AndroidRuntime(25341): android.view.InflateException: Binary XML file line #21: Error inflating class my.application.android.inputmethodservice.KeyboardView
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at application.my.Keyb.onCreateInputView(Keyb.java:59)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.inputmethodservice.InputMethodService.updateInputViewShown(InputMethodService.java:1073)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.inputmethodservice.InputMethodService.showWindowInner(InputMethodService.java:1428)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.inputmethodservice.InputMethodService.showWindow(InputMethodService.java:1403)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInput(InputMethodService.java:424)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:188)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:40)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.os.Looper.loop(Looper.java:137)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.app.ActivityThread.main(ActivityThread.java:5039)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at java.lang.reflect.Method.invokeNative(Native Method)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at java.lang.reflect.Method.invoke(Method.java:511)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at dalvik.system.NativeStart.main(Native Method)
12-12 09:07:39.183: E/AndroidRuntime(25341): Caused by: java.lang.ClassNotFoundException: Didn't find class "my.application.android.inputmethodservice.KeyboardView" on path: /data/app/application.my-1.apk
12-12 09:07:39.183: E/AndroidRuntime(25341):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.view.LayoutInflater.createView(LayoutInflater.java:552)
12-12 09:07:39.183: E/AndroidRuntime(25341):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
12-12 09:07:39.183: E/AndroidRuntime(25341):    ... 18 more

在manifext文件中试试这个

<activity android:label="@string/app_name" android:name="my.application.android.inputmethodservice.KeyboardView">
<service
            android:name="SoftKeyboard"
            android:permission="android.permission.BIND_INPUT_METHOD" >
            <intent-filter>
                <action android:name="android.view.InputMethod" />
            </intent-filter>


您不需要完全限定的类名。另外,如果您正在使用Eclipse并重命名一个包,请转到Project->Clean,让它清理您的项目并修复引用,等等,如果有任何内容被破坏。

请在manifext文件中尝试此操作

<activity android:label="@string/app_name" android:name="my.application.android.inputmethodservice.KeyboardView">
<service
            android:name="SoftKeyboard"
            android:permission="android.permission.BIND_INPUT_METHOD" >
            <intent-filter>
                <action android:name="android.view.InputMethod" />
            </intent-filter>

我认为您没有定义服务和权限,请将其粘贴到清单文件中

<service android:name="SoftKeyboard"
                android:permission="android.permission.BIND_INPUT_METHOD">
            <intent-filter>
                <action android:name="android.view.InputMethod" />
            </intent-filter>
            <meta-data android:name="android.view.im" android:resource="@xml/method" />
        </service>


未找到类“my.application.android.inputmethodservice.KeyboardView”
?您是否在清单中定义了活动?您的包名是什么?它似乎不同于您在XML中使用的,也不同于您在应用程序.my.Keyb.onCreateInputView(Keyb.java:59)中使用的LogCat:
。我相信您的
KeyboardView
类嵌套到了另一个类中?您不是指google android提供的示例键盘代码吗?我不相信
KeyboardView
是一种活动,我相信这是一个视图。我认为它只是一个活动,因为它导致java.lang.ClassNotFoundException.My keyboard make as Services我也有同样的问题。