2つのEditText
のビューを持つダイアログを作成しようとしています。ここでフォーカスが得られ、自動的にキーボードが開きます。しかし、私はそれを動作させるように見えることはできません。以下は私のコードを示しています。ダイアログが開いたときにキーボードを自動的に開く方法
public class ItemDetailsDialogFragment extends DialogFragment {
public ItemDetailsDialogFragment() {
// Required empty public constructor
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Using the builder class for convenient dialog construction
AlertDialog.Builder detailsInput = new AlertDialog.Builder(getActivity());
// Get the layout inflater
LayoutInflater inflater = getActivity().getLayoutInflater();
// Inflate and set the layout for the dialog
// Pass null as the parent view because its going in the dialog layout
detailsInput.setView(inflater.inflate(R.layout.fragment_add_item_details, null))
// Add action buttons
.setPositiveButton(R.string.details_ok_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
// TODO
// Save the details into a map
}
})
.setNegativeButton(R.string.details_cancel_button, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
ItemDetailsDialogFragment.this.getDialog().cancel();
}
});
return detailsInput.create();
}
をそして、ここに私のxmlファイルです:私はこのコード行を追加しようとした場合
<EditText
style="@style/details_text"
android:id="@+id/details_desc_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
style="@style/details_text"
android:id="@+id/details_price_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"/>
:私はというエラーを取得しdetailsInput.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
getWindow()メソッドを解決できません。
私もこのsuggestionを使って試してみました。しかし、そのダイアログが必要になるたびに、そのコードブロック全体を書き直したくありません。代わりに、私はクラスを作成しようとしているので、クラスを持つオブジェクトを作成することができます。私はアンドロイド開発に新しいので、どんな助けでも大いに感謝されるでしょう!
私は間違っていますか?