-1
このようなダイアログ(編集テキスト、ボタン、テストビューが1つあります)を作成しました。私はバックボタンが押されたときにダイアログを閉じしようとしています戻るキーのダイアログを閉じる
val askPhoneDialog= AskPhoneDialog(context, android.R.style.Theme_Material_Light_NoActionBar_Fullscreen,dataManager!!)
askPhoneDialog.show()
:このようなダイアログを呼び出す
class AskPhoneDialog:Dialog{
constructor(context: Context) : super(context) {}
var mContext:Context?=null
var dataManager:DataManager?=null
constructor(context: Context, themeResId: Int, dataManager: DataManager) : super(context, themeResId) {
this.mContext=context
this.dataManager=dataManager;
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.mobile_bottom_sheet_layout)
setUp()
}
private fun setUp() {
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT)
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
}
}
。しかし、ユーザーが最初に「戻る」ボタンを押すとキーボードが隠れ、「戻る」ボタンをもう一度押すとダイアログだけが消えます。
必要な出力:ユーザーが最初に戻るボタンを押すと、キーボードとともにダイアログが閉じます。
私はダイアログと親アクティビティのonBackPressed、onKeyDown、onKeyUp、onTochEventメソッドをオーバーライドしようとしましたが、これらのメソッドのどれもが押されていません。
backを押してsoftkeyboardが見えるような特定の条件でonBackPressed()を呼び出すと、onBackPressed()が2回呼び出されるので、最初の呼び出しではキーボードが隠され、次にダイアログが閉じられます。あなたが私を得ることを望む –
ユーザーが戻るボタンを最初にクリックするときに、どのメソッドが呼び出しているかを検出できません。しかし、それはonBackPressed()やその他のメソッド@NirmalPrajapat –
に記載されていないことを確認してください。質問をdownvoteした人は、その理由をコメントしてください。次回は、 –