这里是代码 在我的布局中,我有两个连续编辑文本,当我在键盘上触摸它时,它不会改变焦点。 在添加额外的editText
之前,setOnEditorActionListener不起作用 <EditText
android:id="@+id/firstText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:imeOptions="actionNext"
android:inputType="numberDecimal"
/>
<EditText
android:id="@+id/secondText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:imeOptions="actionDone"
android:inputType="numberDecimal"
/>
代码:
firstText.setOnNextActionListener(new CallBack<KeyEvent>() {
@Override
public void call(KeyEvent data) {
secondText.requestEditTextFocus();
}
});
答案 0 :(得分:0)
以下三种方式显示,您可以使用其中任何一种
inputType ="actionNext"
属性
或
android:imeOptions="actionNext"
或
android:singleLine="true"
和
android:nextFocusDown="@+id/secondText"
在 .xml 上,您可以执行此操作。
如果您想在活动或片段中以编程方式进行操作,请尝试以下操作: -
firstText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event){
if (actionId == EditorInfo.IME_ACTION_NEXT) {
secondText.requestEditTextFocus();
return true; // Focus will do whatever you put in the logic.
}
return false; // Focus will change according to the actionId
}
});
我已使用已设置的程序集进行了测试,其中secondText.requestEditTextFocus();
更改为secondText.requestFocus();
且工作正常。
请在下面显示屏幕截图
答案 1 :(得分:0)
你可以尝试这些
android:nextFocusDown="@+id/secondText"
android:nextFocusLeft="@+id/secondText"
android:nextFocusRight="@+id/secondText"
android:nextFocusUp="@+id/secondText"
答案 2 :(得分:0)
将一个值赋予xml文件中的edittext ..
android:singleLine="true"