editText監聽事件和editText禁止換行

edittext監聽事件的使用了。對於其監聽事件一般有兩種:

一種爲:setOnEditorActionListener,另一種爲:addTextChangedListener
setOnEditorActionListener對於控件按回車鍵的時候的監聽。
addTextChangedListener對於控件實時的監聽。

setOnEditorActionListener

etxtview.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                Toast.makeText(getApplicationContext(),"輸入的內容是:"+et_on.getText().toString(),Toast.LENGTH_LONG).show();
                return false;
            }
        });

注意該方法需要通過回車鍵纔會有監聽返回,當這裏返回的爲false時可以使用返回鍵輸入下一行當返回true時則直接顯示輸入的內容

addTextChangedListener

 etxtview.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
 			//輸入前
            }
 
            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
			//輸入中
            }
 
            @Override
            public void afterTextChanged(Editable editable) {
            //輸入後editable.toString().trim()//獲取內容
            }
        });
    }

第一種就是監聽EditText的setOnEditorActionListener方法,然後把回車鍵禁止,但是在虛擬鍵盤中依然會顯示enter鍵:

	private void setListener(){
		editText.setOnEditorActionListener(new OnEditorActionListener() {
			@Override
			public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
				return (event.getKeyCode()==KeyEvent.KEYCODE_ENTER);
			}
		});
	}

第二種方法是直接在EditText的xml文件中通過配置android:singleLine="true"把虛擬鍵盤上的回車鍵去掉不讓他顯示。爲了保險起見再加一條只能輸入單行

 <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
      	android:hint="登錄賬戶"
      	android:maxLines="1"
      	android:singleLine="true"
        />
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章