android - 当将 EditText 聚焦在 ListView 或 RecyclerView 中时,键盘显示但滚动不起作用

标签 android listview scroll android-edittext android-recyclerview

当我触摸 ListView 或 RecyclerView 中的 EditText 时,会显示软键盘。然后我单击键盘上的下一步按钮,焦点更改为下一个 EditText。在最后一个可见的 EditText 之后,焦点更改为下一个 EditText,但 ListView 或 RecyclerView 没有在内部滚动,并且所有屏幕都在状态栏下方,每个键盘下一个 Button 单击。

以下用于此屏幕的 xml:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <include
            android:id="@+id/MainToolbar"
            layout="@layout/toolbar" />
        <include
            android:id="@+id/llHeaderItem"
            layout="@layout/TaskShelfShareHeaderItem" />
        <ListView
            android:id="@+id/lwShelfShare"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:stackFromBottom="true"
            android:transcriptMode="normal" />
    </LinearLayout>

Screen cast

最佳答案

我是这么想的。希望对您有所帮助。

mEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {

    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        RecyclerView recyclerView = getRecyclerView();
        if (recyclerView != null) {
            int position = getLayoutPosition();
            RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForLayoutPosition(position + 1);
            if (viewHolder == null) {
                recyclerView.smoothScrollToPosition(position + 1);
                return true;
            }
        }
        return false;
    }
});

关于android - 当将 EditText 聚焦在 ListView 或 RecyclerView 中时,键盘显示但滚动不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262591/

相关文章:

android - java.lang.OutOfMemoryError处理来自Camera的14个数据

winapi - 请求刷新 LVN_GETEMPTYMARKUP

java - 如何使用来自 Firebase 的数据填充 ListView?

android - 新的 ParseObject ("Message") 使应用程序崩溃

java - 是否可以在 Java、Android 上以编程方式创建图像?

android - react 原生 : How to make fullscreen youtube embed video in webview with expo (without react-native link)

java - 重用 RecyclerView 适配器

javascript - 使用 JavaScript 设置 HTML 页面垂直位置

javascript - 在 Javascript 中缓慢向下滚动 X 像素

iphone - drawRect 中的可拉伸(stretch)图像导致滚动缓慢