android EditText控制光标的位置

利用自定义键盘,需要手动删除编辑框中的文本时,会根据光标的位置来删除字符。那么,如何来控制光标呢,android为我们提供了哪些方法,来处理光标呢?

这里提供几个自己写的方法,根据这些方法可以满足在光标任何位置删除字符的要求。

 

// 往文本框中添加内容

	public void addString(String sequence) {

		int index = getEditSelection();// 光标的位置

		if (index < 0 || index >= getEditTextViewString().length()) {

			dia_et_pwd.append(sequence);

			Log.i(TAG, "str===" + str);

		} else {

			dia_et_pwd.getEditableText().insert(index, sequence);// 光标所在位置插入文字

		}

	}



	// 获取光标当前位置

	public int getEditSelection() {

		return dia_et_pwd.getSelectionStart();

	}



	// 获取文本框的内容

	public String getEditTextViewString() {

		return dia_et_pwd.getText().toString();

	}



	// 清除文本框中的内容

	public void clearText() {

		dia_et_pwd.getText().clear();

	}



	// 删除指定位置的字符

	public void deleteEditValue(int index) {

		dia_et_pwd.getText().delete(index - 1, index);

	}



	// 设置光标位置

	public void setEditSelectionLoc(int index) {

		dia_et_pwd.setSelection(index);

	}



	// 判断是否是数字

	public static boolean isNum(String str) {

		return str.matches("([0-9]+)?)$");

	}


 

 

你可能感兴趣的:(EditText)