listView中的项目无法使用键盘输入键

时间:2017-03-10 14:54:59

标签: android listview onitemclicklistener

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

我在getView中使用setOnKeyListener。 这是我的Adapter类的代码。 CustomUsersAdapter类,它扩展了ArrayAdapter类。

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。

1 个答案:

答案 0 :(得分:0)

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

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

        }
    });