listview自动滚动键盘弹出android

时间:2014-07-02 17:06:16

标签: android listview android-listview android-edittext android-softkeyboard

我有一个带有列表视图的视图,一个编辑文本和一个按钮。我正在使用此代码将listview自动滚动到底部

listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);

但是如果我将listview转到任何位置并单击编辑文本,它将向下滚动到底部。我希望它像任何其他应用程序,例如whatsapp。 Listview应该位于其当前滚动的位置。它不应该转到底部,除非它滚动到按钮或列表视图第一次打开。它在whatsapp中的工作方式相同。

我也试过这段代码,但它的工作方式相同: -

public class CustomListView extends ListView {

public CustomListView (Context context) {
    super(context);
}

public CustomListView (Context context, AttributeSet attrs) {
    super(context, attrs);
}

public CustomListView (Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

@Override
protected void onSizeChanged(int xNew, int yNew, int xOld, int yOld) {
    super.onSizeChanged(xNew, yNew, xOld, yOld);

    post(new Runnable() {
        public void run() {
            setSelection(getCount());
        }
    });
}

}

我该怎么做。 谢谢

1 个答案:

答案 0 :(得分:4)

尝试使用:

listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_NORMAL);