私はこのコードを持っています(RelativeLayoutは私のメインレイアウトの中に1行だけあり、重要ではありません)。私のカスタムダイアログ(SettingsDialog)インサイドキーボードをダイアログに表示
RelativeLayout cellphoneNumberLayout = (RelativeLayout) findViewById(R.id.cellphone_number);
cellphoneNumberLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SettingsDialog myDialog = new SettingsDialog(Main.this);
myDialog.show();
}
});
私はのEditTextとボタンがあります。ダイアログが表示され、私の(単一の)EditTextフィールドにフォーカスしているときに、キーボードを極端に開くようにするにはどうすればよいですか?
私がここで見つけた古典的な "強制"を試しましたが、これはアクティビティではなく、ダイアログです。
編集:私はこれを試しましたが、機能しません。 myDialogをクラス変数として宣言し、myDialog.show();以下に追加しました。
myDialog.myEditTextField.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
myDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
何も起こりません。
それは働いた!私は、ダイアログボックスが1つのフィールドを持ち、Android自体によって自動的にフォーカスされていたので、editTextにフォーカスを手動で設定する必要はありませんでした。 –