Android中的键盘视图

Android中的键盘视图,android,popup,xamarin,android-softkeyboard,Android,Popup,Xamarin,Android Softkeyboard,在安卓系统中,只要长按键盘视图中的某个键,就会出现一个小键盘。它在android:popupCharacters中设置了信息集,在属性android:popupKeyboard中设置了xml中的外观集 在某种程度上,在我的应用程序中,键的标签发生了变化(因此与键相关的popupCharacters也发生了变化),但弹出窗口与创建时完全相同。换句话说:如果创建时,PopupCharacters为XX,那么对于弹出窗口,无论字符是否更改为YY,它们都将始终为XX 我已经尝试用编程方式更改PopupR

在安卓系统中,只要长按键盘视图中的某个键,就会出现一个小键盘。它在android:popupCharacters中设置了信息集,在属性android:popupKeyboard中设置了xml中的外观集

在某种程度上,在我的应用程序中,键的标签发生了变化(因此与键相关的popupCharacters也发生了变化),但弹出窗口与创建时完全相同。换句话说:如果创建时,PopupCharacters为XX,那么对于弹出窗口,无论字符是否更改为YY,它们都将始终为XX

我已经尝试用编程方式更改PopupResId和PopupCharacters

mKeyboardView.Keyboard.Keys[i].PopupCharacters = AA;
mKeyboardView.Keyboard.Keys[i].PopupResId = Resource.Layout.BB;
但是修改并没有改变任何事情。关于如何动态改变这一点有什么想法吗


谢谢

因此,如果它对任何人都有用:

  • 显然,函数InvalidateKey(inti)不会使弹出窗口失效,因此它与问题状态保持不变
  • 我解决了这个问题,创建了一个新的键盘对象,并在每次修改弹出窗口时将其附加到键盘视图。我不确定这是否是最好/最有效的方法,但它确实有效