冲天香阵透长安,满城尽带黄金甲。这篇文章主要讲述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事件中访问绑定的内容吗())】问题很容易解决,但如果有人有答案,我会非常有兴趣知道会发生什么事:)
推荐阅读
- 永远不会结束marshmallow android的后台服务
- 如何解决android中的版本冲突错误()
- 在android中无限运行服务
- 在所有版本的android中以任何模式保持服务活着
- Android,前台服务让app保持活力吗()
- android中的后台服务没有运行像oppo,vivo等设备
- Android服务重新创建
- 我的春季启动webapp.war停止在ssh注销上运行。如何创建应用服务,以便在没有用户登录的情况下运行
- 在开机或重启设备时启动Android服务[重复]