2015-06-08 6 views
5

में कीबोर्ड दृश्य में स्क्रॉलव्यू जोड़ने के लिए कैसे मैं अपने एंड्रॉइड कस्टम कीबोर्ड आईएमई में स्क्रॉलव्यू जोड़ने की कोशिश कर रहा हूं, लेकिन कुछ भी नहीं मैंने अभी तक काम नहीं करने का प्रयास किया है।एंड्रॉइड

यहाँ मेरी कोड

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> 

जावा

@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; 
    } 

का हिस्सा है मैं उम्मीद नीचे

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

त्रुटि: छवि की तरह स्क्रॉल नीचे (अपलोड अपलोड करें यहाँ, मेरी प्रतिष्ठा है कि :) के लिए पर्याप्त नहीं)

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

किसी भी मदद की सराहना की होगी तरह दिखता है। धन्यवाद

+0

वास्तव में मुद्दा है क्या? क्या आपको त्रुटियां मिल रही हैं? अपेक्षित आउटपुट बनाम वास्तविक आउटपुट क्या है? – JNYRanger

+0

मुझे एक ही समस्या है। लेकिन मुझे समाधान नहीं मिला। –

उत्तर

2

यह परिवर्तन करने का प्रयास करें:

keyboard.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.inputmethodservice.KeyboardView 
    android:id="@+id/keyboard" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
/> 

my_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/keyboard_layout"> 

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/example_height" 
      android:id="@+id/keyboard_scroll"> 
    </ScrollView> 

</LinearLayout> 

जावा

@Override 
public View onCreateInputView() { 

    LinearLayout myView = (LinearLayout) View.inflate(this, R.layout.my_layout, null); 
    ScrollView scrollView = (ScrollView) myView.findViewById(R.id.keyboard_scroll); 

    KeyboardView kv = (KeyboardView) getLayoutInflater().inflate(keyboard.xml, null); 
    keyboard = new Keyboard(this, R.xml.qwerty); 
    kv.setKeyboard(keyboard); 
    kv.setOnKeyboardActionListener(this); 

    scrollView.addView(kv); 
    return myView; 
}