我知道这类问题问很多时间,但还没有人给出完美的答案。Android将光标从一个EditText移动到另一个EditText?
我有一个问题:
我想从EditText1 **移动到另一个** EditText2。 我已经检测到editText1,但如何将光标移动到editText2。
总之,我不得不将我的光标位置从一个editText1直接移动到另一个EditText2。
我知道这类问题问很多时间,但还没有人给出完美的答案。Android将光标从一个EditText移动到另一个EditText?
我有一个问题:
我想从EditText1 **移动到另一个** EditText2。 我已经检测到editText1,但如何将光标移动到editText2。
总之,我不得不将我的光标位置从一个editText1直接移动到另一个EditText2。
我遇到了这种类型的问题,并找到如下解决方案。
这里我有两个EDITTEXT,
如果我按“一”,我将光标移动到下一个步骤。我使用下面的代码来完成它。
final EditText editText = (EditText) findViewById(R.id.editText1);
editText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v , int keyCode , KeyEvent event) {
EditText editText2 = (EditText) findViewById(R.id.editText2);
// TODO Auto-generated method stub
if (keyCode == event.KEYCODE_A) {
Selection.setSelection((Editable) editText2.getText(),editText.getSelectionStart());
editText2.requestFocus();
}
return true;
}
});
让我知道你是否面临任何错误。 如果我的回答对你有帮助,请接受它并评分为upvote。
谢谢你的回答。 有时它在我登录真实设备时无法使用。 –
我在这里找到了更好的解决方案http://stackoverflow.com/questions/12418324/android-move-cursor-from-one-edittext-to-another-one-if-click-any-letter-in-fiel –
以下是一个工作示例,希望对您有所帮助。
XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Some string of text"
/>
<EditText
android:id="@android:id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Some string of text"
/>
<Button
android:id="@android:id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button"
/>
</LinearLayout>
类:
public class Example extends Activity {
TextView text1;
TextView text2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text1 = (EditText) findViewById(android.R.id.text1);
text2 = (EditText) findViewById(android.R.id.text2);
Button button = (Button) findViewById(android.R.id.button1);
button.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
Selection.setSelection((Editable) text2.getText(), text1.getSelectionStart());
text2.requestFocus();
}
});
}
}
感谢您的回答。我希望它成为实时场景。 当我检测到一些特殊字符时,我的第一个editText1光标将被移动到下一个editText2。 我已经成功地检测到特殊字符,但不知道如何在Realtime中移动它。 –
设置onKeyListener检测压在每一个按键检查你的病情,当你的条件将满足套EDITTEXT财产edittext2.requestFocus关键( );
我测试了所有以前的代码段,并发现所有工作正常。但是我发现用正确的edittext对象调用“requestFocus()”也是可行的。按照问题所述,ans可以是:
edittext2.requestFocus();
这对我来说工作得很好。如果我错了,请纠正我。
当您想将光标从Edittext1移动到Edittext2 –
@KrishnakantDalal当我在第一个editText1中检测到一些特殊字符时,它将移动到下一个editText2。 我已经成功地检测到特殊字符,但不知道如何实时移动它。 –