2012-08-04 97 views
-2

当前正在开发一个键盘。无论何时按下EditText,键入光标都会自动移动到EditText中所有单词的末尾。它不会让我在句子中间开始编辑。EditText光标移动到末端

Scenerio:

用户按下EditText,弹出我的键盘。用户键入“香蕉”。用户退出键盘(键盘关闭)。用户按下edittext上的单词“Banana”,并按下中间的N.光标在N之后出现半秒钟,然后自动移动到单词的末尾。

基本上我正在寻找的是如何停止输入法自动执行此操作。

+0

对不起,这是一个有点晚了,我的脑海里,阅读能力都有点疲惫。你能显示你的相关代码吗?它可能会帮助我们帮助你。 – Eric 2012-08-04 05:56:10

回答

1

使用为setSelection(int无)OnFocusChangeListener()的EditText的方式如下:

et1.setOnFocusChangeListener(new OnFocusChangeListener() { 
      @Override 
      public void onFocusChange(View v, boolean hasFocus) { 
       if(v.hasFocus()) { 
        int len = et1.getEditableText().toString().trim().length(); 
        if(len > 1) 
         et1.setSelection((int)len/2); 
       } 
      } 
     }); 
+0

问题是我没有“et1”的句柄,因为它基本上是任何应用程序中的任何EditText。我这样做,不过,有一个手柄,任何的EditText的EditorInfo对象我@Override点击 \t \t公共无效onStartInputView(EditorInfo属性,布尔重启){ \t \t \t} – Faris 2012-08-04 06:16:27

+0

安置自己的** ** onStartInputView方法的代码。 – 2012-08-04 06:27:37