问题描述
我正在处理一个对话框,一旦调用它,就不会再关注它了。 我正在使用xamarin应用程序。
Android.App.AlertDialog.Builder alertDialog = new Android.App.AlertDialog.Builder(this);
alertDialog.SetTitle("Special Notification Access");
alertDialog.SetMessage(
"You have no special app access permission for the Notifications!\n" +
"Please go to Settings -> Apps -> Special app access -> Notification access " +
"and give permission to this app."
);
alertDialog.SetPositiveButton("OK",(senderAlert,args) => {
Android.Util.Log.Debug(TAG,"pressed OK");
});
alertDialog.SetNegativeButton("No","pressed No");
});
Dialog diag = alertDialog.Create();
diag.Show();
一旦我按了遥控器上的按钮(我正在使用Android TV,SDK 28进行操作),对话框似乎就被聚焦了,但是日志显示该应用失去了焦点,请参见此处:
09-10 13:37:24.974 12053 12053 W ViewRootImpl[MainActivity]: Dropping event due to no window focus: KeyEvent { action=ACTION_DOWN,keyCode=KEYCODE_DPAD_CENTER,scanCode=353,MetaState=0,flags=0x8,repeatCount=0,eventTime=13590499,downTime=13590499,deviceid=6,source=0x301 }
此后,遥控器停止工作,按按钮则无任何操作。另外,一旦我打开设置(通过ADB命令)并返回到应用程序,对话框就成为焦点,一切正常。
How to set focus to android alert dialog negative button?
其中使用以下代码:
diag.getButton(AlertDialog.BUTTON_NEGATIVE).requestFocus();
我也发现了这一点
alertDialog.setonShowListener(new DialogInterface.OnShowListener(){
@Override
public void onShow(DialogInterface dialog) {
Button positive= alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
positive.setFocusable(true);
positive.setFocusableInTouchMode(true);
positive.requestFocus();
}
});
但同样,setonShowListener不再存在。
我该怎么办?
如果您需要更多信息,请告诉我。
谢谢您的时间。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)