1-) Android RMOS - Custom AlertDialog ve otomatik klavye açma
public void tutarDuzeltDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
View view = getLayoutInflater().inflate(R.layout.tutar_duzelt, null);
builder.setView(view);
txtTutar = view.findViewById(R.id.txtTutar);
builder.setTitle(seciliSiparisModel.getRecAd2());
builder.setMessage("Lütfen tutarınızı girin");
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
try {
klavyeKapat();
Toast.makeText(mainActivity, "Değişti-> " + txtTutar.getText().toString(), Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(mainActivity, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
klavyeKapat();
return;
}
});
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
klavyeKapat();
}
});
AlertDialog alert = builder.create();
alert.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
alert.show();
txtTutar.requestFocus();
klavyeAc();
KeyboardVisibilityEvent.setEventListener(
getActivity(),
new KeyboardVisibilityEventListener() {
@Override
public void onVisibilityChanged(boolean isOpen) {
klavyeSondurum=isOpen;
}
});
}
boolean klavyeSondurum=false;
public void klavyeKapat() {
if(klavyeSondurum){
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}
}
public void klavyeAc() {
if(klavyeSondurum==false) {
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
}