android获取光标
⑴ android 一个布局里面有三个EditText默认的光标是停在第一个上面的怎么让光标默认在第二个或第三个呢
在请求出现光标是,也就是在获取焦点时:
editText.requestFocus();
清除光标,也就是失去焦点:
editText.clearFocus();
第一个设置失去焦点,第二或者第三个设置获得焦点试试
另外还有:
使光标移动到指定的位置:
editText.setSelection(2);
输入的参数是个整数
让EditText不出现光标:
editText.setCursorVisible(false);
⑵ android edittext怎么设置光标
使光标移动到制定的位置:
editText.setSelection(2);
输入的参数是个整数
在请求出现光标是,也就是在获取焦点时:
editText.requestFocus();
清除光标,也就是失去焦点:
editText.clearFocus();
让EditText不出现光标:
editText.setCursorVisible(false);
⑶ Android 获取焦点
你好,我举例说明:比如有个输入框,当你点击输入框时,这时它的光标在闪烁,可以输入文字,那么就可以说这个输入框获得焦点了。获取焦点的控件就是当前可以执行操作的控件。
使用view.requestFocus()方法可以手动获取焦点。
以上,希望对你有帮助。
⑷ irrlicht在android开发中如何获取鼠标焦点
打个比方吧,一个EditText控件获取到了焦点,那么你现在所做的操作就是对这个EditText,比如说键盘输入
戴屹父沨融深漓钟卢影岳贵湘濮粤昊理浒粲骅瓴
⑸ android 获取光标在哪个edittext上
是由点击事件来区分的,哪个控件被点击后,光标会在上面显示
⑹ 如何定位android系统中光标的位置
Android中有很多可编辑的弹出框,其中有些是让我们来修改其中的字符,这时光标位置定位在哪里呢?
刚刚解了一个bug是关于这个光标的位置的,似乎Android原生中这种情况是把光标定位到字符串的最前面。需求是将光标定位到字符的最后面。
修改的地方是TextView这个控件,因为EditText也是继承了TextView。在setText方法中有:
1 private void setText(CharSequence text, BufferType type,
2 boolean notifyBefore, int oldlen) {
3 ……
4 if (text instanceof Spannable) {
5 Spannable sp = (Spannable) text;
6
7 ……
8 if (mMovement != null) {
9 mMovement.initialize(this, (Spannable) text);
10 //文本是不是Editable的。
11 if(this instanceof Editable)
12 //设定光标位置
13 Selection.setSelection((Spannable)text, text.length());
14
15 ……
16 }
从红色代码中可以看出,google是要光标处在缺省文本的末端,但是,log发现 (this instanceof Editable)非真,也就是说Selection.setSelection((Spannable)text, text.length());并不会被执行。
1 Log.d("TextView", "(type == BufferType.EDITABLE)="+(type == BufferType.EDITABLE));
2 if(type == BufferType.EDITABLE){
3 Log.d("TextView","Format text.Set cursor to the end ");
4 Selection.setSelection((Spannable)text, text.length());
5 }
这个样修改后即可。
在编写应用的时候,如果我们要将光标定位到某个位置,可以采用下面的方法:
1 CharSequence text = editText.getText();
2 //Debug.asserts(text instanceof Spannable);
3 if (text instanceof Spannable) {
4 Spannable spanText = (Spannable)text;
5 Selection.setSelection(spanText, text.length());
6 }
其中红色标记的代码为你想要设置的位置,此处是设置到文本末尾。
⑺ android editetext的光标怎么定义
使光标移动到制定的位置:
editText.setSelection(2);
输入的参数是个整数
2
在请求出现光标是,也就是在获取焦点时:
editText.requestFocus();
清除光标,也就是失去焦点:
editText.clearFocus();
3
让EditText不出现光标:
editText.setCursorVisible(false);
⑻ android中edittext怎么获取光标
下面是edittext获取光标的例子,更多关于edittext的介绍,请参考android学习手册。
android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,
源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳
int index = editText.getSelectionStart();
int index = editText.getSelectionStart();
2.在光标处插入字符
[java] view plain print?
int index = editText.getSelectionStart();
Editable editable = editText.getText();
editable.insert(index, "aaaa");
int index = editText.getSelectionStart();
Editable editable = editText.getText();
editable.insert(index, "aaaa");
3.删除光标前字符
[java] view plain print?
int index = editText.getSelectionStart();
Editable editable = editText.getText();
editable.delete(index-1, index);
⑼ Android Cursor(光标)解析
SQLiteDatabase db = dataBaseHelper.getWritableDatabase();
Cursor cursor = db.rawQuery("select *from User",null);
1.光标的行数:int getCount()
2.当前光标的位置:int getPosition()
返回的值从零开始, 当第一次返回行集时游标将位于位置 -1,即第一行之前。在返回最后一行之后,对 next() 的另一个调用将使光标离开最后一个条目,位于 count() 的位置。
3.从当前位置应用的偏移量:boolean move(int offset)
将光标从当前位置向前或向后移动一个相对量。 正偏移向前移动,负偏移向后移动。 如果最终位置在结果集的边界之外,则结果位置将分别固定为 -1 或 count(),具体取决于该值是在集合的前端还是末尾。如果请求的目的地可达,此方法将返回 true,否则返回 false。
4.将光标移动到绝对位置:boolean moveToPosition(int position)
值的有效范围是 -1 <= 位置 <= 计数。如果请求目的地可达,此方法将返回 true,否则返回 false。
5.将光标移动到第一行:boolean moveToFirst()
6.将光标移动到最后一行:boolean moveToLast()
7.将光标移动到下一行:boolean moveToNext()
8.将光标移动到上一行:boolean moveToPrevious()
9.返回光标是否指向第一行:boolean isFirst()
10.返回光标是否指向最后一行:boolean isLast()
11.返回光标是否指向第一行之前的位置:boolean isBeforeFirst()
12.返回光标是否指向最后一行之后的位置:boolean isAfterLast()
13.给定列名的从零开始的列索引,如果列名不存在,则返回 -1:int getColumnIndex(String columnName)
14.给定列名的从零开始的索引,如果该列不存在则抛出非法参数异常:int getColumnIndexOrThrow(String columnName) throws IllegalArgumentException
15.给定的从零开始的列索引处的列名:String getColumnName(int columnIndex)
16.返回一个字符串数组,其中按列在结果中的顺序保存结果集中所有列的名称。:String[] getColumnNames()
17.返回总列数:int getColumnCount()
18.各类型返回值
(1)以字节数组的形式返回请求列的值:byte[] getBlob(int columnIndex)
(2)以字符串形式返回请求列的值:String getString(int columnIndex)
(3)以整数形式返回请求列的值:int getInt(int columnIndex)
(4)以 long 形式返回请求列的值:long getLong(int columnIndex)
(5)以浮点数形式返回请求列的值:float getFloat(int columnIndex)
(6)以双精度形式返回请求列的值:double getDouble(int columnIndex)
(7)返回给定列值的数据类型:int getType(int columnIndex)
(8)列值是否为空:boolean isNull(int columnIndex)
(9)以短形式返回请求列的值:short getShort(int columnIndex)
19.检索请求的列文本并将其存储在提供的缓冲区中:void StringToBuffer(int columnIndex, CharArrayBuffer buffer)
20.关闭游标:void close()
21.游标是否关闭:boolean isClosed()
22.注册一个观察者,当支持此游标的内容发生变化时调用该观察者:void registerContentObserver(ContentObserver observer)
23.销毁注册的观察者:void unregisterContentObserver(ContentObserver observer)
24.注册一个观察者,当数据集的内容发生变化时被调用:void registerDataSetObserver(DataSetObserver observer)
25.销毁注册的观察者:void unregisterDataSetObserver(DataSetObserver observer)
26.注册以查看内容 URI 的更改。这可以是特定数据行的 URI,也可以是内容类型的通用URI:void setNotificationUri(ContentResolver cr, Uri uri)
cr是上下文,uri是需要观看的内容
27.是否所有光标移动都应导致调用 onMove():boolean getWantsAllOnMoveCalls()
只有在此方法返回 true 时,才会跨进程调用 onMove()
28.返回一组额外的值:Bundle getExtras()
29.光标用户与光标通信的带外方式:Bundle respond(Bundle extras)
30.设置 Bundle 返回的getExtras():void setExtras(Bundle extras)
⑽ 刚学Android,EditText的光标位置怎么调
这个只要设置EditText的gravity属性(即它的子View的输出位置)为top即可,如果你的EditText有内容,则通过调用它的setSelectionStart和setSelectionEnd方法设置光标具体在哪个字符之前