[Java] Cómo agregar scrollview a keyboardView en android


Answers

Question

He estado tratando de agregar scrollview a mi teclado personalizado de Android Ime, pero nada he intentado hasta ahora.

Aquí hay parte de mi código

keyboard.xml

<?xml version="1.0" encoding="UTF-8"?>
<ScrollView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <android.inputmethodservice.KeyboardView
        android:id="@+id/keyboard"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:isScrollContainer="true"
        android:scrollbarAlwaysDrawHorizontalTrack="true"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="horizontal"
        android:focusable="true"
    />
</ScrollView>

.Java

 @Override
    public View onCreateInputView() {
        context = getApplicationContext();
        ScrollView scroll = (ScrollView)getLayoutInflater().inflate(R.layout.keyboard,null);
        kv = (KeyboardView)scroll.findViewById(R.id.keyboard);
        keyboard = new Keyboard(this, R.xml.qwerty);
        kv.setPreviewEnabled(false);
        kv.setKeyboard(keyboard);
        kv.setHorizontalScrollBarEnabled(true);
        kv.canScrollHorizontally(1);
        kv.setOnKeyboardActionListener(this);

        return kv;
    }

Aparece el siguiente error

> java.lang.IllegalStateException: The specified child already has a
> parent. You must call removeView() on the child's parent first.

Esperado: desplácese como la imagen a continuación (no se puede cargar aquí, parece que mi reputación no es suficiente para eso :))

http://www.fandroides.com/wp-content/uploads/2014/04/Google-keyboard-emojis.png

Cualquier ayuda será apreciada. Gracias