将克拉/光标从 edittext1 设置为 edittext2

发布于 2024-10-15 19:12:56 字数 627 浏览 1 评论 0原文

我已经搜索过如何执行此操作但找不到任何解决方案。在这里,我有edittext1和edittext2,而克拉/光标位于edittext1中,然后我按软键盘中的“Next/Enter”键,克拉/光标必须位于edittext2中。当我按下“Next/Enter”键但没有移动 edittext2 中的克拉/光标时,下面的代码片段收到了事件。

    edittext1.setOnKeyListener(new View.OnKeyListener() 
    {       
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) 
        {
            if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
            {
                Editable e = edittext2.getText();
                Selection.setSelection(e,e.length());
            }
            return false;
        }
    });

任何意见都将受到高度赞赏。谢谢。

I've already searched how to do this but couldn't find any solution. Here it goes, I have edittext1 and edittext2, while the carat/cursor is positioned in edittext1 then I pressed "Next/Enter" key in soft keyboard, the carat/cursor must be positioned in edittext2. The snippet below received the event when I pressed the "Next/Enter" key but didn't move the carat/cursor in edittext2.

    edittext1.setOnKeyListener(new View.OnKeyListener() 
    {       
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) 
        {
            if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
            {
                Editable e = edittext2.getText();
                Selection.setSelection(e,e.length());
            }
            return false;
        }
    });

Any inputs will be highly appreciated. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空城之時有危險 2024-10-22 19:12:56

您不能使用 android:nextFocusDownandroid:nextFocusUp ?以下是一些参考:

编辑
根据您接受的答案,看起来您有一个可行的解决方案,但是我认为我也可以让 XML 路线发挥作用。因此,这是布局元素的工作版本:

<AutoCompleteTextView 
    android:id="@+id/autoCompleteTextViewRecipient"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:completionThreshold="1"
    android:inputType="text"
    android:maxLines="1"
    android:hint="To"
    android:imeOptions="actionNext"
    android:nextFocusDown="@+id/editTextComposeMessage"
    android:nextFocusUp="@+id/editTextComposeMessage"/>
<EditText
    android:id="@+id/editTextComposeMessage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:imeOptions="actionNext"
    android:nextFocusDown="@+id/autoCompleteTextViewRecipient"
    android:nextFocusUp="@+id/autoCompleteTextViewRecipient"/>

区别在于 AutoCompleteTextView 现在有一个 nextFocusDownEditText 有一个 nextFocusUp,并且都将 imeOptions 设置为 actionNext

Rather than doing it in code, can't you use the android:nextFocusDown and android:nextFocusUp in your XML? Here are some references:

EDIT
With your accepted answer it looks like you have a solution that works, however I thought I'd get the XML route to work too. So here is a working version of your layout elements:

<AutoCompleteTextView 
    android:id="@+id/autoCompleteTextViewRecipient"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:completionThreshold="1"
    android:inputType="text"
    android:maxLines="1"
    android:hint="To"
    android:imeOptions="actionNext"
    android:nextFocusDown="@+id/editTextComposeMessage"
    android:nextFocusUp="@+id/editTextComposeMessage"/>
<EditText
    android:id="@+id/editTextComposeMessage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:imeOptions="actionNext"
    android:nextFocusDown="@+id/autoCompleteTextViewRecipient"
    android:nextFocusUp="@+id/autoCompleteTextViewRecipient"/>

Differences are that the AutoCompleteTextView now has a nextFocusDown, the EditText has a nextFocusUp, and both have imeOptions set to actionNext

浅笑轻吟梦一曲 2024-10-22 19:12:56

尝试使用这个:
if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
{
edittext2.requestFocus();
光标

移动到edittext2。

Try using this:
if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
{
edittext2.requestFocus();
}

The cursor moves to edittext2.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文