Android Studio Databinding:我可以在onKey事件中访问绑定的内容吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio Databinding:我可以在onKey事件中访问绑定的内容吗?相关的知识,希望对你有一定的参考价值。

我试图实现一些按钮事件,而不引用XML-File和数据绑定而不是FindByID。这可能吗?我遇到的问题是,在OnKeyListener中,我尝试获取键入文本的绑定InputBox似乎无法访问(this.binding显示为红色,我把它加粗)。这是错误的做法还是我犯了错误?我想避免使用FindByID-Lines。

this.binding =
            DataBindingUtil.setContentView(this, R.layout.content_main);
    this.binding.EditNumber.setText("553");

    this.binding.EditNumber.setOnKeyListener(new OnKeyListener()
    {
        public boolean onKey(View v, int keyCode, KeyEvent event)
        {
            if (event.getAction() == KeyEvent.ACTION_DOWN)
            {
                switch (keyCode)
                {
                    case KeyEvent.KEYCODE_DPAD_CENTER:
                    case KeyEvent.KEYCODE_ENTER:
                        Cat supertest = Manager.CreateMainCat(this.**binding**.EditNumber.toString());
                        this.**binding**.DisplayCurrentBudget.setText(supertest.getsName());
                        return true;
                    default:
                        break;
                }
            }
            return false;
        }
    });

非常感谢你

答案

奇怪的是,当我将绑定放在另一个方法中时,它可以工作:

    (...)
            this.binding.Submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                xxx();
            }
        });
    }

    public void xxx()
    {
        Cat supertest = Manager.CreateMainCat(this.binding.EditNumber.getText().toString());
        this.binding.DisplayCurrentBudget.setText(supertest.getsName());
    }

但这不是:

this.binding.Submit.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Cat supertest = Manager.CreateMainCat(this.binding.EditNumber.getText().toString());
            this.binding.DisplayCurrentBudget.setText(supertest.getsName());
                }

问题很容易解决,但如果有人有答案,我会非常有兴趣知道会发生什么事:)

以上是关于Android Studio Databinding:我可以在onKey事件中访问绑定的内容吗?的主要内容,如果未能解决你的问题,请参考以下文章

android studio怎么更新

android studio setting 在哪

如何解决android studio2.3导入android studio2.1的问题

Android studio上找不到setting?

android studio v4包冲突

如何用android studio 编成app