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

冲天香阵透长安,满城尽带黄金甲。这篇文章主要讲述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事件中访问绑定的内容吗())】问题很容易解决,但如果有人有答案,我会非常有兴趣知道会发生什么事:)

    推荐阅读