向ChipsInputEditText添加密钥监听器

时间:2018-01-07 22:09:01

标签: android android-layout

使用普通的EditText,添加一个键监听器可以在我的应用程序运行时提供预期的行为。但是,使用MaterialChipsInput库向ChipsInputEditText添加键侦听器不会产生预期的行为。来自密钥监听器的onKey方法似乎完全被调用,没有任何日志语句出现在控制台中。代码如下所示:

public boolean onKey(View view, int keyCode, KeyEvent event) {
            Log.i("compose message", "onKey called");
            if ((event.getAction() == KeyEvent.ACTION_DOWN)
                    && (keyCode == KeyEvent.KEYCODE_SPACE)){
                Log.i("compose message", " onKey called");
                String userName = ((ChipsInputEditText) view).getText().toString();
                Constants.DATABASE.child("userlist").orderByValue().equalTo(userName)
                        .addValueEventListener(new ValueEventListener() {
                            @Override
                            public void onDataChange(DataSnapshot dataSnapshot) {
                                if (dataSnapshot.exists()){
                                    Constants.DATABASE.child("users/"+dataSnapshot.getKey())
                                            .addValueEventListener(new ValueEventListener() {
                                                @Override
                                                public void onDataChange(DataSnapshot dataSnapshot) {
                                                    HilarityUser hu = dataSnapshot.getValue(HilarityUser.class);
                                                    chipsInput.addChip(new HilarityUserChip(hu));
                                                }

                                                @Override
                                                public void onCancelled(DatabaseError databaseError) {}
                                            });
                                } else {
                                    //todo show toast
                                    return;
                                }
                            }

                            @Override
                            public void onCancelled(DatabaseError databaseError) {}
                        });
            }
            return false;
        }

是否有我掩饰的内容,或者我应该使用自动完成TextView和RecyclerView制作片段以显示芯片?

0 个答案:

没有答案