1

안녕하세요, 나는 ListView에서 결과를 보여주는 SearchView를 구현했습니다. 내가 직면하고있는 문제는 사용자 정의 키보드가 있고 ListView가 keyboardView 위에 겹쳐서 일부를 누를 수 없기 때문입니다. 내가 달성하고자하는 내 keyboard.What의 키가 KeyboardView.Here 아래에 표시 내 목록보기 것은Keyboardview 위에 안드로이드 Listview

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/basic_bg" > 

<android.inputmethodservice.KeyboardView 
    android:id="@+id/keyboardView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:visibility="gone" /> 



<SearchView 
    android:id="@+id/searchView" 
    android:layout_width="400dp" 
    android:layout_height="40dp" 
    android:layout_alignParentTop="true" 
    android:layout_alignRight="@+id/textView3" 
    android:layout_marginLeft="49dp" 
    android:layout_marginTop="25dp" 
    android:layout_toRightOf="@+id/imageViewUp" 
    android:background="@drawable/delete_bg_5line" 
    android:ems="10" 
    android:hint="Destination Input Text" 
    android:textColor="#87CEFA" > 
</SearchView> 

<ListView 
    android:id="@+id/main_list_View" 
    android:layout_width="450dp" 
    android:layout_height="235dp" 
    android:layout_alignLeft="@+id/searchView" 
    android:layout_below="@+id/searchView" 
    android:listSelector="@android:color/transparent" 
    android:scrollbars="none" > 
</ListView> 

</RelativeLayout> 

이 또한 내가 사용자가 ListView에을 통해 탐색 할 때 사용자 정의 키보드를 숨기려면 내 레이아웃 파일입니다 키보드의 가시성을 변경하는 코드

각각의 키에 keyIcon 속성 만 작동 만하지 않았다 :
searchtextView.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method st4ub 
      toggleKeyboardVisibility(searchtextView); 

     } 

     private void toggleKeyboardVisibility(
       AutoCompleteTextView searchViewWidget) { 
      KeyboardView keyboardView = (KeyboardView) findViewById(R.id.keyboardView); 
      int visibility = keyboardView.getVisibility(); 
      switch (visibility) { 
      case View.VISIBLE: 
       keyboardView.setVisibility(View.GONE); 
       break; 
      case View.GONE: 
      case View.INVISIBLE: 
       keyboardView.setVisibility(View.VISIBLE); 
       searchtextView = searchViewWidget; 
       break; 
      } 
     } 

    }); 

내가하고 싶은 또 다른 것은 .I 내가 안드로이드를 추가하려고이 작업을 수행 할 수 없습니다 내 키보드 키의 배경을 변경 입니다 이 속성을 사용할 때 미리보기 배경 이미지가 변경됩니다. 어떻게해야합니까?

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" 
android:horizontalGap="0px" 
android:keyBackground="@drawable/custom_keyboard_press_onekey" 
android:keyWidth="10%p" 
android:verticalGap="0px" > 

<Row> 

    <Key 
     android:codes="1" 
     android:iconPreview="@drawable/custom_keyboard_press_onekey" 
     android:isRepeatable="true" 
     android:keyEdgeFlags="left" 
     android:keyIcon="@drawable/custom_keyboard_press_onekey" 
     android:keyLabel="1" /> 
</Row> 
</Keyboard> 

내가

final KeyboardView keyboardView = (KeyboardView) findViewById(R.id.keyboardView); 
    Keyboard keyboard = new Keyboard(this, R.layout.keyboard); 
    keyboardView.setKeyboard(keyboard); 
    keyboardView.setEnabled(true); 
    keyboardView.setPreviewEnabled(true); 

    keyboardView.setOnKeyboardActionListener(this); 

누군가가 내가 잘못 가고 어디 나를 인도 또는 제안하시기 바랍니다 수있는 키보드를 인스턴스화하는 방법이 얼마나 도움을 내가해야 proceed.Thanks. 내가 지정한 자녀가 이미 부모가 "다음과 같은 오류가 위의 방법으로 레이아웃을 생성하는 경우

+0

를, 당신의 목록보기에 위의 키보드를 볼 수 있도록 레이아웃을 변경합니다. 당신은 호출해야합니다 아이의 부모로부터 최초로 removeView()를 호출합니다. 이거 알고 있니? – Anu

답변

1

이봐,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/basic_bg" > 

<SearchView 
    android:id="@+id/searchView" 
    android:layout_width="400dp" 
    android:layout_height="40dp" 
    android:layout_alignParentTop="true" 
    android:layout_alignRight="@+id/textView3" 
    android:layout_marginLeft="49dp" 
    android:layout_marginTop="25dp" 
    android:layout_toRightOf="@+id/imageViewUp" 
    android:background="@drawable/delete_bg_5line" 
    android:ems="10" 
    android:hint="Destination Input Text" 
    android:textColor="#87CEFA" > 
</SearchView> 

<ListView 
    android:id="@+id/main_list_View" 
    android:layout_width="450dp" 
    android:layout_height="235dp" 
    android:layout_alignLeft="@+id/searchView" 
    android:layout_below="@+id/searchView" 
    android:listSelector="@android:color/transparent" 
    android:scrollbars="none" > 
</ListView> 


<android.inputmethodservice.KeyboardView 
    android:id="@+id/keyboardView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:visibility="gone" /> 

</RelativeLayout> 
+0

감사합니다. 적어도 내 문제 중 하나를 해결합니다. –