首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将焦点转移到另一个RecyclerView项目中的下一个EditText (CardView)

将焦点转移到另一个RecyclerView项目中的下一个EditText (CardView)
EN

Stack Overflow用户
提问于 2018-10-17 03:28:05
回答 2查看 949关注 0票数 1

我正在使用一个RecyclerView来保存一堆包含EditText的CardViews。用户应编辑文本并通过单击软键盘上的" continue /finished“按钮继续到下一个CardView。当下一个EditText开始聚焦时,软键盘应该保持打开状态。卡片视图与手机屏幕一样宽,需要水平/从右向左滚动。我的代码已经可以识别"continue“按钮的点击,但我被困在了转移焦点上。请让我知道,如果这是可能的,如果它是如何。谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-10-17 03:44:44

这样做的一种方法是向扩展RecyclerView.ViewHolder的类添加一个方法。

代码语言:javascript
复制
public static class MyViewHolder extends RecyclerView.ViewHolder {
    // each data item is just a string in this case
    public CardView mCardView;
    public EditText mEditText;
    public MyViewHolder(CardView v) {
        super(v);
        mCardView = v;
        mEditText = v.findViewById(R.id.mEditText);
    }

    public void takeFocus() {
        if (mEditText != null && mEditText.isShown()) {
            mEditText.requestFocus();
        }
    }
}

根据您是否正在使用其他ViewHolder类,您可能希望在调用takeFocus()方法之前添加一些逻辑,如mViewHolder instanceOf MyViewHolder。

票数 1
EN

Stack Overflow用户

发布于 2018-10-18 02:06:22

我解决了。

首先,我必须滚动到回收器视图中的项目,然后调用编辑文本的requestFocus()方法。为了防止软键盘/输入法,我使用了InputMethodManager来强制显示输入法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52842744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档