Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin Android Edittext按键也会执行_C#_Android_Xamarin_Android Edittext - Fatal编程技术网

C# Xamarin Android Edittext按键也会执行

C# Xamarin Android Edittext按键也会执行,c#,android,xamarin,android-edittext,C#,Android,Xamarin,Android Edittext,您好,我刚在Xamarin开始一个Android项目,我在edittext的按键上遇到了一个问题。当在我的第一个Edittext上触发Enter键并将焦点放在Edittext(txtArtikel)上时,会触发此Edittext的按键并跳到第三个Edittext。所以它只需按一下Enter键就跳过了我的第二个编辑文本。有人能帮我吗 txtArtikel.KeyPress += txtArtikelPress; private void txtArtikelPress(object send

您好,我刚在Xamarin开始一个Android项目,我在edittext的按键上遇到了一个问题。当在我的第一个Edittext上触发Enter键并将焦点放在Edittext(txtArtikel)上时,会触发此Edittext的按键并跳到第三个Edittext。所以它只需按一下Enter键就跳过了我的第二个编辑文本。有人能帮我吗

 txtArtikel.KeyPress += txtArtikelPress;

 private void txtArtikelPress(object sender, View.KeyEventArgs e)
 {
     e.Handled = false;
     if (e.KeyCode == Keycode.Enter)
     {
         txtAantal.RequestFocus();
     }
 }
编辑

我仍然在用按键,现在正在寻找一个进入和退出。当txtWerf为空时,它跳转到txtArtikel,但当它包含文本时,它跳转到txtAantal

 private void txtWerfPress(object sender, View.KeyEventArgs e)
 {
     if (e.KeyCode == Keycode.Enter && e.Event.Action == KeyEventActions.Down)
     {
         if (txtWerf.Text.Trim() != "")
         {
             if (txtArtikel.RequestFocus())
                 e.Handled = true;
         }
     }
     else
         e.Handled = false;
 }

 private void txtArtikelPress(object sender, View.KeyEventArgs e)
 {
     if (e.KeyCode == Keycode.Enter && e.Event.Action == KeyEventActions.Down)
     {
         if (txtArtikel.Text.Trim() != "")
         {
             if (txtAantal.RequestFocus())
                 e.Handled = true;
         }
     }
     else if (e.KeyCode == Keycode.Escape && e.Event.Action == KeyEventActions.Down)
     {
         if (txtWerf.RequestFocus())
             e.Handled = true;
     }
     else
         Scanner.CheckForScannedData(sender, ref e);
         e.Handled = false;
 }

 private void txtAantalPress(object sender, View.KeyEventArgs e)
 {
     if (e.KeyCode == Keycode.Escape && e.Event.Action == KeyEventActions.Down)
     {
         if (txtArtikel.RequestFocus())
             e.Handled = true;
     }
     else
         e.Handled = false;
 }  

无需处理
按键
事件即可将焦点设置到下一个
编辑文本
。 Android有一个很好的算法,可以在编辑完成时处理焦点

当您删除事件处理程序时,按enter键时应用程序的行为如何?它是否将焦点设置为正确的
EditText
?如果它聚焦于错误的观点,那么你应该看看如何


如果焦点根本没有改变,那么你应该告诉安卓当用户使用
Android:imeOptions
完成输入时该怎么做

无需处理
按键
事件即可将焦点设置到下一个
编辑文本
。 Android有一个很好的算法,可以在编辑完成时处理焦点

当您删除事件处理程序时,按enter键时应用程序的行为如何?它是否将焦点设置为正确的
EditText
?如果它聚焦于错误的观点,那么你应该看看如何


如果焦点根本没有改变,那么你应该告诉安卓当用户使用
Android:imeOptions
完成输入时该怎么做

谢谢你的回答。我尝试了imeOptions,但在actionNext中,它只是转到同一个editText中的新行。删除事件处理程序时也会发生这种情况。在按下键时,我还需要检查editText是否包含任何text.thx以获取答案。我尝试了imeOptions,但在actionNext中,它只是转到同一个editText中的新行。删除事件处理程序时也会发生这种情况。在按下键时,我还需要检查editText是否包含任何文本。