android-当点击 edit text 时,显示 ListView 中最后的 item

问题描述

当点击 edit text 时,显示 ListView 中最后的 item

现在这样做是为了点击 edit text 时,获取 listview 最后一个 item 的焦点:

 bodyText.setOnFocusChangeListener(new OnFocusChangeListener() {

        public void onFocusChange(View v, boolean hasFocus) {
            getListView().setSelection(getListView().getCount());
        }
    });

    bodyText.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
            getListView().setSelection(getListView().getCount());
        }
    });

代码可以运行也获取最后的 item,问题是软键盘出现会覆盖 listview 中最后3个 items。有什么方法能让软键盘出现后重新调整屏幕,显示最后的 item?

解决方案

创建自定义的 ListView :

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);
    setSelection(getCount());
}
}

在xml中添加:

ListView android:id="@+id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent"

解决方案二:

我修改 onSizeChanged 方法

@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());
        }
    });
}
时间: 2024-10-17 22:29:59

android-当点击 edit text 时,显示 ListView 中最后的 item的相关文章

响应事件-android studio编译无错误,运行时显示,但点击button不响应按键事件

问题描述 android studio编译无错误,运行时显示,但点击button不响应按键事件 原因:自从Android 3.2(API 13),screen size也开始跟着设备的横竖切换而改变.这会导致activity重新加载方法:在AndroidManifest.xml里设置的MiniSdkVersion和 TargetSdkVersion属性大于等于13的情况下,如果你想阻止程序在运行时重新加载Activity,除了设 置""orientation"",你

gui-MATLAB GUI listbox 和 edit text 换行显示串口数据的问题

问题描述 MATLAB GUI listbox 和 edit text 换行显示串口数据的问题 我最近开始接触GUI,现在想做一个串口数据的显示. function EveBytesAvailableFcn( t,event,handles ) global s; global a; global count; a=fscanf(s); a = strcat(a ,char(5), get(handles.listbox2,'string')); set(handles.listbox2,'st

android webview点击链接不及时显示

问题描述 android webview点击链接不及时显示 点击html界面的一个链接,使用js的方法改变某个div标签的内容,但无法及时显示,要多次点击,或退出后在进入点击才能显示出来,我手动刷新界面或清除缓存也没法做到点击后及时显示改变内容 解决方案 你换一个别的浏览器客户端试试看呢 解决方案二: 你用的android版本是哪个 据网友反应,在Android4.4以上不支持js的一些方法了,可以参考这个开源项目:https://github.com/lzyzsd/JsBridge 解决方案三

listview-当ArrayAdapter.isEnabled返回false时, ListView中的divider消失

问题描述 当ArrayAdapter.isEnabled返回false时, ListView中的divider消失 在程序的ArrayAdapter类里面我使用ListActivity.当我重写了ArrayAdapter.areAllItemsEnabled() 和 ArrayAdapter.isEnabled()方法,在 list view 中单元格之间的 divider 就会消失.我想要dividers在单元格里都能显示. 大家知道怎么避免这个问题的出现呢? 解决方案 对某些特殊的项目,在a

sqlite-点击listview中的任意item如何实现置顶?

问题描述 点击listview中的任意item如何实现置顶? 如图,点击listview里面的条目,然后点击对话列表框的操作选项,现在卡在不知如何实现置顶这个功能,我在原有数据库中加了整型的isTop字段,然后就不知道下一步该怎么操作了,求各位打救一下菜鸟 解决方案 ListView 禁止Item被点击ListView 的 item 点击效果Android--ListView点击Item展开的实现 解决方案二: 是安卓么?是的话置顶可以通过更新listview的adapt,然后notifydat

Android Listview中Button按钮点击事件冲突解决办法

  今天做项目时,ListView中含有了Button组件,心里一早就知道肯定会有冲突,因为以前就遇到过,并解决过,可惜当时没有记录下来. 今天在做的时候,继续被这个问题郁闷了一把,后来解决后,赶紧来记录下,以便日后参考.      首先,其实Listview中Button按钮点击事件冲突这种问题压根就不是太大的问题,因为我们完全可以将一个TextView的Backgroud设置成一个selector,也可以将一个TextView设计成一个按钮的样子,这样就可以绕过ListView和Button

Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item

本文为原创博客,出自http://blog.csdn.net/minimicall 到今天为止,搜芽的卖家版本应该来说已经基本完成,攻坚克难的一路过来.速度也控制的比较好. 项目过程进度 从任务分配量上来看,基本还是我个人英雄主义.接下来这样不行.但暂时也没办法,师弟还需要一个学习的过程.智质不错,而且态度端正.相信搜芽买家,他就可以承担更多的开发任务了. 接下来进入正题,说我们的PullToRefresh的点击事件.其实,我是想做长按进入删除的. 见效果图.当然这个是我做出来之后的了,但做出来

布局-listview中addHeaderView 点击事件

问题描述 listview中addHeaderView 点击事件 listview中addHeaderView 中头布局的多个点击响应事件怎么设置 解决方案 headView和footerView都可以响应onItemClick方法,headView的position为0, footerView的position最大. 不过可以给headView和footerView设置OnClickListener来覆盖OnItemClick,这样,你点击headview或者footerView将触发OnCl

Android中屏幕显示listview中的item数量

问题描述 Android中屏幕显示listview中的item数量 求大神告知,我如何获取当前屏幕显示出的listview的item数量呢?每个屏幕大小不一,能显示出的数量也是不一样的,有没有方法能够计算的?? 解决方案 刚才那个方法太笨,还可以调用ListView的setOnScrollListener方法,里头复写了一个onScroll方法,方法中的第二个参数就是当前ListView中可见的item数量.下例子中是visibleItemCount: listView.setOnScrollL