2013-02-21 13 views
0

내 장치의 소프트 키보드에서 검색 버튼을 눌러야합니다. MyCode :검색 버튼이 작동하지 않습니다.

XML 파일 :

<EditText 
    android:id="@+id/searchText" 
    android:layout_width="match_parent" 
    android:layout_height="40dp" 
    android:textSize="15sp" 
    android:hint="@string/search" 
    android:drawableLeft="@drawable/ic_btn_search" 
    android:singleLine="true" 
    android:drawablePadding="5dp" 
    android:imeOptions="actionSearch" 
    android:imeActionLabel="Search" android:layout_weight="1"/> 

자바 파일 :

searchFild = (EditText) findViewById(R.id.searchEditTxt); 
    searchFild.setImeOptions(EditorInfo.IME_ACTION_SEARCH); 
    searchFild.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
     @Override 
     public boolean onEditorAction(TextView textView, int arg, KeyEvent keyEvent) { 
      if(arg == EditorInfo.IME_ACTION_SEARCH) { 
       String searchString=searchFild.getText().toString(); 
       searchBibles(searchString); 
       return true; 
      } 
      return false; 
     } 
    }); 

검색 버튼을 키보드에 사전 만에 클릭 한 후 아무것도 happends 없습니다입니다. arg는 제로입니다. 안드로이드 2.2에서 그 작품은 안드로이드에서 작동하지 않습니다 4

+0

android 2 그 작품. 4 일에 작동하지 않습니다. – waldemar

답변

1

text로 구성해야합니다. 당신이 searchFild.setImeOptions(EditorInfo.IME_ACTION_SEARCH);를 제거 할 수 있습니다 자바 코드에서, 적어도이 안드로이드 4.1.2

내가 사용하는 전체 코드는 다음과 같습니다 (즉 내가 테스트 한 전용 버전의) 작업을했다 :

<EditText 
     android:id="@+id/txtSearch" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:drawableLeft="@drawable/action_search" 
     android:drawablePadding="5dp" 
     android:hint="@string/input_keywords_for_search" 
     android:imeActionLabel="Search" 
     android:inputType="text" 
     android:imeOptions="actionSearch" /> 

Java 코드

final EditText txtSearch = (EditText) findViewById(R.id.txtSearch); 
txtSearch.setOnEditorActionListener(new OnEditorActionListener() { 

    @Override 
    public boolean onEditorAction(TextView v, int actionId, 
     KeyEvent event) { 
     if (actionId == EditorInfo.IME_ACTION_SEARCH) { 
     String searchString = txtSearch.getText().toString(); 
     search(searchString); 
     return true; 
    } 
    return false; 
    } 
}); 

이 정보가 도움이되기를 바랍니다.

관련 문제