您的位置:首页 > 其它

使用editView的项目总结

2016-07-29 16:38 288 查看
<EditText

                android:id="@+id/my_edittext"

                android:layout_height="25dp"

                android:imeOptions="actionSearch"

                android:singleLine="true"

                android:layout_width="match_parent"

                android:layout_alignParentRight="true"

                android:layout_toRightOf="@+id/iv_search"

                android:hint=""

                android:textSize="@dimen/t_m"

                android:background="@null"

                android:inputType="number"/>

                

                在对应的Activity如下写:

                private void initView{

                

                mEditText = (EditText)findViewById(R.id.my_edittext);

                

                 }

                 mEditText.setOnKeyListener(new View.OnKeyListener() {

            @Override

          public boolean onKey(View v, int keyCode, KeyEvent event) {

                if (keyCode == KeyEvent.KEYCODE_ENTER) {

                    Log.e(TAG,"点击了搜索框");

                    // 先隐藏键盘

                    ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))

                            .hideSoftInputFromWindow(SelectorNumberActivity.this.getCurrentFocus()

                                    .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

                    //进行搜索操作的方法,在该方法中可以加入mEditSearchUser的非空判断

                  

                }

                return false;

            }

        });

         //进入界面直接获取焦点,显示输入

        mEditText.setFocusable(true);

        mEditText.requestFocus();//获取焦点 光标出现

        mEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {

            @Override

            public void onFocusChange(View v, boolean hasFocus) {

                if (hasFocus) {

                   getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

                    //pop.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

                }

            }

        });

        

    附加:android:imeOptions的值有actionGO, actionSend, actionSearch,actionDone..

    

        对此设置的监听代码

        

        mEditText.setOnEditorActionListener(new OnEditorActionLister(){

        

        public boolean onEditorAction(TextView v,int actionId,KeyEvent event){

        

        if (actionId == EditorInfo.IME_ACTION_SEARCH) {  

                    Toast.makeText(getActivity(), "点击",Toast.LENGTH_SHORT).show();  

        

        

        }

        return false;

        }

        

        

        

        });

        测试的时候有一个遗留的问题:三个测试机(三星 s6 edge,oppoR7,vivoX5),当editView输入框不输入内容的时候,三星s6edge貌似不触发onKey这个方法,监听不到事件

        

        

        

        

        

        

        

        

        

        

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: