具有InputConnection null的Android InputMethodManager

具有InputConnection null的Android InputMethodManager,android,android-edittext,android-softkeyboard,inputmethodmanager,Android,Android Edittext,Android Softkeyboard,Inputmethodmanager,在我的项目中,我是android新手,我可以选择在数据库中搜索记录。我有一个EditText和一个按钮,当用户按下按钮时,数据库将查询用户在EditText中输入的文本 在显示搜索结果后,它第一次工作正常。对于更改搜索文本,用户希望编辑出现在EditText软键盘中的文本,但EditText对用户操作和软键盘输入没有响应 EditText作为标题添加到ListView searchstringsearch=(EditText)searchview_headerview.findViewB

在我的项目中,我是android新手,我可以选择在数据库中搜索记录。我有一个EditText和一个按钮,当用户按下按钮时,数据库将查询用户在EditText中输入的文本

在显示搜索结果后,它第一次工作正常。对于更改搜索文本,用户希望编辑出现在EditText软键盘中的文本,但EditText对用户操作和软键盘输入没有响应

EditText作为标题添加到ListView

    searchstringsearch=(EditText)searchview_headerview.findViewById(R.id.searchstringsearch);
    searchstringsearch.setTypeface(SharedVariables.font);
    searchstringsearch.setFilters(BLCOobj.setFilters("filterForSearchString"));
    searchstringsearch.setOnEditorActionListener(new DoneOnEditorActionListener());


class DoneOnEditorActionListener implements OnEditorActionListener {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {


        if (actionId == EditorInfo.IME_ACTION_SEARCH) {

            /*InputMethodManager imm = (InputMethodManager) getSystemService(HomeScreen.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(searchstringsearch.getWindowToken(), 0);*/
            hideKeyboard();

            String SearchOption=searchstringsearch.getText().toString();

            if(SearchOption!=null)
            {
                if(SearchOption.length()>=4)
                {


            BLHomeScreenOperations objBLHomeScreenOperations=new BLHomeScreenOperations();      
            clsSearch objSearch=new clsSearch(objdatasetslist.get(dataSetIndex).getDataSetID(),SearchOption );
            //callig getSearchResults In BL
            objBLHomeScreenOperations.getSearchResults(objSearch, HomeScreen.this);
                }else{
                    SharedVariables.showAlertMessage(SharedVariables.globalContext.getString(R.string.enter_searchstring_msg), HomeScreen.this);
                }
            }else{
                SharedVariables.showAlertMessage(SharedVariables.globalContext.getString(R.string.enter_searchstring_msg), HomeScreen.this);
            }


            return true;    
        }

        return false;
    }
}
当用户再次单击进行编辑时,EditText日志将显示以下消息

V/InputMethodManager(16958): Starting input: tba=android.view.inputmethod.EditorInfo@420ef980 ic=null

在单独的线程中进行搜索。不要在EditText的OnEditorActionListener上增加负担…@GopalRao仅在单独的线程中执行搜索如果包含EditText的列表标题在屏幕外,IME将无法连接到它。考虑将编辑文本从ListVIEW中移出。