[Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点

有时候需要让光标显示在EditText的指定位置或者选中某些文本。同样,为了方便用户输入以提升用户体验,可能需要使EditText获得或失去焦点。
1. 设置光标到指定位置

  1. EditText et = (EditText) findViewById(R.id.etTest);
  2. et.setSelection(2);


PS:当内容过多时,可通过设置光标位置来让该位置的内容显示在屏幕上。
2. 隐藏光标

  1. EditText et = (EditText) findViewById(R.id.etTest);
  2. //设置光标不显示,但不能设置光标颜色
  3. et.setCursorVisible(false);

3. 获得焦点时全选文本

  1. EditText et = (EditText) findViewById(R.id.etTest);
  2. et.setSelectAllOnFocus(true);


PS:此方法可用来在用户点击EditText时,选中默认内容。
4. 获取和失去焦点

  1. EditText et = (EditText) findViewById(R.id.etTest);
  2. et.requestFocus(); //请求获取焦点
  3. et.clearFocus(); //清除焦点

5. 综合运用代码

  1. EditText et = (EditText) findViewById(R.id.etTest);
  2. int index = et.getSelectionStart();//获取光标所在位置
  3. String text="#请在这里输入话题#";
  4. Editable edit = et.getEditableText();//获取EditText的文字
  5. if (index < 0 || index >= edit.length() ){
  6. edit.append(text);
  7. }else{
  8. edit.insert(index,text);//光标所在位置插入文字
  9. }
  10. et.setSelection(index + 1, index + text.length() - 1);

PS:在光标处插入文本,并选中##里面的文本

整理改编自: http://orgcent.com/android-edittext-cursor-position-focus/

时间: 2024-10-10 00:17:29

[Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点的相关文章

EditText设置/隐藏光标位置、选中文本和获取/清除焦点(转)

转:http://blog.csdn.net/dajian790626/article/details/8464722 有时候需要让光标显示在EditText的指定位置或者选中某些文本.同样,为了方便用户输入以提升用户体验,可能需要使EditText获得或失去焦点. 1. 设置光标到指定位置 EditText et = (EditText) findViewById(R.id.etTest); et.setSelection(2); PS:当内容过多时,可通过设置光标位置来让该位置的内容显示在屏

ANDROID中EDITTEXT如何定位光标位置

代码:edittext.setSelection(int); 范例: et.setText(content);//设置EditText控件的内容 et.setSelection(content.length());//将光标移至文字末尾 这样可以把光标移动到EditText的任何位置

Android: EditText设置属性和设置输入规则

1.EditText输入限制规则 在xml:EditText 设置属性 android:digits="ABCDE123&*" ABCDE123&*是你的限制规则 例如:android:digits="0123456789abc" 规则是只能输入英文字母(小写)abc和数字 2.EditTex输入的文字为密码形式 (1)在xml中设置 android:password="true" //以"."形式显示文本 (

Android如何编程设置APP安装位置(外部存储或内部存储)?

Beginning with API Level 8, you can allow your application to be installed on the external storage (for example, the device's SD card). This is an optional feature you can declare for your application with theandroid:installLocation manifest attrib

android的edittext设置输入限制,只能输入数字

EditText的属性里面已经封装好了相关的设置,上一篇文章里面也提到了,不熟悉的可以去查看上一篇EditText属性大全,这里着重讲输入限制的属性: android:digits="1234567890.+-*/%\n()" 限制输入框中只能输入自己定义的这些字符串 如果输入其它将不予以显示 android:phoneNumber="true" 限制输入框中只能输入手机号码 android:password="true" 限制输入框中输入的任何

jquery设置bootstrap-table的当前选中页码的获取与设置

一.获取当前table分页的页码 有两种方式可以获得当前选中的页码: 1.通过table的onPageChange方法 $('#agentTable').bootstrapTable({ data: {........}, onPageChange: function (pageNumber) { $.cookie("curAgentTablePageNumber", pageNumber); }, columns: [ {......} ]}); 2.通过table的getOptio

解决android手机EditText设置光标颜色,android:textCursorDrawable=&quot;@drawable/corner_cursor&quot; 华为手机无效果的问题

<EditText android:id="@+id/alertdialog_zhuan_zeng_friend_phone_Edt" android:layout_width="match_parent" android:layout_height="40dp" android:textCursorDrawable="@drawable/corner_cursor" android:singleLine="t

C# 设置鼠标光标位置

using System.Drawing; using System.Runtime.InteropServices; namespace ZB.QueueSys.Common { public class MouseHelper { private static MouseHelper instance; public static MouseHelper Instance { get { if (instance == null) instance = new MouseHelper();

Android 自定义EditText输入框 带清空按钮

总结  Android 自定义EditText输入框 带清空按钮 当用户输入字符后  EditText会自动在输入框的内部右侧出现删除按钮 重写EditText达到简化布局的效果 效果图: 继承EditText package com.example.myedittexttest; import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawable; imp