我知道Android上的解决方案
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
switch(keyCode){
case KeyEvent.KEYCODE_BACK:
// do something here
return true;
}
return super.onKeyDown(keyCode, event); }
但我不能在表格方面这样做。焦点是一个条目,所以键盘是可见的,当我按下硬件后退按钮(键盘消失)我想设置我的变量值。
编辑:
bool _tapped;
LwTeszt.PropertyChanged += (s, e) =>
{
if (LwTeszt.SelectedItem != null)
{
EntryTeszt.Focus();
}
};
EntryTeszt.Unfocused += EntryTeszt_Unfocus;
private void EntryTeszt_Unfocus(object sender, FocusEventArgs e)
{
_tapped = true;
}
private void ViewCell_Tapped(object sender, EventArgs e)
{
if (_tapped)
{
EntryTeszt.Unfocus();
_tapped = false;
return;
}
EntryTeszt.Focus();
}
答案 0 :(得分:0)
除非你有其他逻辑,你没有发布我认为你可能会使事情过于复杂。我相信您需要做的就是将注意力集中在ViewCell_Tapped
private void ViewCell_Tapped(object sender, EventArgs e)
{
EntryTeszt.Focus();
}
当按下后退时,表格会处理您Entry
的重点,在这种情况下,您不会需要LwTeszt.PropertyChanged
,_tapped
和EntryTeszt.Unfocused
部分。
答案 1 :(得分:0)
有一个事件你必须覆盖它,你可以处理Xamarin表格中的后退按钮。使用以下代码处理后退按钮:
protected override bool OnBackButtonPressed()
{
// your code
return base.OnBackButtonPressed();
}
您也可以参考this question了解更多信息。