重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、卢氏网络推广、微信小程序、卢氏网络营销、卢氏企业策划、卢氏品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供卢氏建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
Editable etext = mEditText.getText(); Selection.setSelection(etext, etext.length());
:Android中有很多可编辑的弹出框,其中有些是让我们来修改其中的字符,这时光标位置定位在
获取光标的位置来判断是哪个edittext,再通过button对光标所在的edittext进行背景设置。
这个只要设置EditText的gravity属性(即它的子View的输出位置)为top即可,如果你的EditText有内容,则通过调用它的setSelectionStart和setSelectionEnd方法设置光标具体在哪个字符之前
可以用GetCursorPos函数获取光标位置; 函数功能:该函数检取光标的位置,以屏幕坐标表示。函数原型:BOOL GetCursorPos(LPPOINT lpPoint); 参数: IpPoint:POINT结构指针,该结构接收光标的屏幕坐标。Visual Basic 6.0 函数声明: [Publi...
可以用GetCursorPos函数获取光标位置;函数功能:该函数检取光标的位置,以屏幕坐标表示。
没有找到好的方法。试了下,以下可以看看:重写EditText,自定义的控件里面复写invalidateDrawable方法。EditText实例里面去用callback的方式去监听每次点击编辑内容后的响应,在回调函数里面去实现强制使光标移动到最后,比如点击到c后面时候,强制跳转到最后。以下是部分代码: public class MyEditText extends EditText public int index; public CurGetWhere mCurGetWhere; public MyEditText(Context context) super(context); // TODO Auto-generated constructor stub } public MyEditText(Context context, AttributeSet attrs) super(context, attrs); } @Override public void invalidateDrawable(Drawable drawable) // TODO Auto-generated method stub super.invalidateDrawable(drawable); index = Selection.getSelectionEnd(getText()); if(mCurGetWhere != null) mCurGetWhere.getEditTextCur(index); } } public int getEditTextCurCallback(CurGetWhere mCurGetWhere) // TODO Auto-generated method stub this.mCurGetWhere = mCurGetWhere; return this.index; }} 实例里面使用如下:final MyEditText mMyEditText = (MyEditText)findViewById(R.id.edittext); mMyEditText.getEditTextCurCallback(new CurGetWhere() @Overridepublic int getEditTextCur(int indext) // TODO Auto-generated method stub CharSequence text = mMyEditText.getText(); if (text instanceof Spannable) Spannable spanText = (Spannable)text; Selection.setSelection(spanText, text.length()); } return 0; }});