【问题标题】:Item in listView are not clickable using keyboard enter keylistView 中的项目不能使用键盘输入键点击
【发布时间】:2017-03-10 14:54:59
【问题描述】:

我正在尝试使用键盘在 listView 中导航。通常输入按钮适用于其他控件。但是当我选择和项目(使用键盘)并按回车键时它不起作用。

我在 getView 中使用 setOnKeyListener。 这是我的适配器类的代码。 扩展 ArrayAdapter 类的 CustomUsersAdapter 类。

public View getView(int position, View convertView, ViewGroup parent) {

        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_user, parent, false);
        }
        convertView.setClickable(true);
        convertView.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View view, int i, KeyEvent keyEvent) {
                this.onClicked("onKeyListener");
                return true;
            }
        });

        convertView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                this.onClicked("setOnClickListener");
            }
        });
        return convertView;
    }
}

OnClickListener 和 OnKeyListener 中的 onClick 均未调用。

【问题讨论】:

    标签: android listview onitemclicklistener


    【解决方案1】:

    您正在将 onClickListener 设置为其在适配器中的根视图。您应该尝试将这些侦听器设置为您的 listview 对象。比如;

          listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    
            }
        });
    

    【讨论】:

    • 是的,行得通。但是任何见解为什么在适配器返回的视图上设置的 setOnClickListener 不起作用?但是当我使用 touchevent 而不是键盘的输入时,同样的事情也有效。
    • 不确定,但可能与 listView 项的根视图有关。你如何使用键盘导航你的列表视图?列表视图是否可聚焦和可点击?
    • 您对 listView 项目的根视图有何看法?你的意思是Adapter返回的View的根?我正在对列表项使用简单的 listView,这是一个示例。我还尝试在从适配器的 getView 返回之前将列表项视图设置为可聚焦和可点击的
    • 对不起,我不知道如何在这里格式化 schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-05
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多