Android的自定义键盘,下面的类不能被实例化:自定义、实例、键盘、Android

2023-09-07 08:48:55 作者:人格分裂

我创建了一个自定义键盘为我的应用程序。你可以看到$ C $下我下面的键盘。我收到错误的XML浏览器 类似的问题已经被问 Android的 - 不支持的服务:音频 但没有人回答。

I have created a custom keyboard for my app. You can see the code for my keyboard below. I am getting error in xml viewer Similar question has been asked Android - Unsupported Service: audio But no one replied.

$ C $下我的自定义键盘

Code for my Custom keyboard

public class KeyboardViewExtend extends KeyboardView implements KeyboardView.OnKeyboardActionListener
    {

    private SymjaBase _parent = null;
    private Keyboard _myKeyboard = null;


    public KeyboardViewExtend(Context c, AttributeSet atts, int defStyle) {
        super(c, atts, defStyle);
        // Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse
        if (!isInEditMode()) {
            _parent = (SymjaBase)c; 
        }
        init(c);
    }

    public KeyboardViewExtend(Context c, AttributeSet atts) {
        super(c, atts);
        // Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse
        if (!isInEditMode()) {
            _parent = (SymjaBase)c; 
        }
        init(c);
    }


    private void init(Context c) {
        setOnKeyboardActionListener(this);
        setEnabled(true);  
        setPreviewEnabled(true);   
        setFocusable(false);
        setFocusableInTouchMode(false);
        setBackgroundColor( Color.BLACK );
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 0);
        lp.gravity = Gravity.BOTTOM;
        setLayoutParams(lp);
        makeKeyboardView();
    }

错误在XML的图形浏览器

Error In xml Graphical Viewer

The following classes could not be instantiated:
- org.matheclipse.android.KeyboardViewExtend (Open Class, Show Error Log)
See the Error Log (Window > Show View) for more details.
Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse

java.lang.UnsupportedOperationException: Unsupported Service: audio
    at com.android.layoutlib.bridge.android.BridgeContext.getSystemService(BridgeContext.java:448)
    at android.inputmethodservice.KeyboardView.<init>(KeyboardView.java:376)
    at android.inputmethodservice.KeyboardView.<init>(KeyboardView.java:279)
    at org.matheclipse.android.KeyboardViewExtend.<init>(KeyboardViewExtend.java:35)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(    at sun.reflect.NativeConstructorAccessorImpl.newInstance(    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(    at java.lang.reflect.Constructor.newInstance(    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.instantiateClass(ProjectCallback.java:413)
    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.loadView(ProjectCallback.java:170)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:135)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:746)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:718)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:372)

请帮我出这一点。

推荐答案

看到这一问题与解答:机器人 - 不支持的服务:音频

See this question and answers: Android - Unsupported Service: audio

在短期: 这是Android的源代码的bug。但我发现的解决方案如何解决它。请参见上面的链接。

In short: It is bug of android source. But I found solution how fix it. See on link above.