自定义Listview与EditText:焦点

时间:2012-10-31 07:02:40

标签: android listview focus

我有一个使用EditText和Listview的简单布局。实现自定义ArrayList适配器以填充列表视图和自定义过滤器,以便用户可以搜索列表视图中显示的项目。

当我运行应用程序时,焦点最初设置为EditText,键盘按预期显示。但这就是我想要做的事情:

  1. 应用程序启动时,焦点应初始设置为ListView。
  2. 如果用户想通过选择edittext控件来输入文本,则应显示键盘。
  3. (此时,当用户输入文字时,列表视图项目将会改变 - 我已经对此进行了修改)
  4. 如果用户仍然打开键盘,如果用户在列表视图中选择一个项目,键盘应该会消失并触发listview onItemClick功能。
  5. 我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

1.将以下属性添加到其layout-xml中的特定EditText

android:focusable="false"
android:focusableInTouchMode="true"

2.然后在Activity添加:

mEditText.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        v.setFocusable(true);
        return false;
    }
});

希望这有帮助。