Tôi có một alertdialog với một editext. Đối với Edittext này, tôi làm cho bàn phím xuất hiện và tôi muốn điều đó khi người dùng nhấn ok hoặc hủy để ẩn bàn phím. Vấn đề kỳ lạ là khi người dùng chọn ok, bàn phím sẽ ẩn, nhưng khi chọn hủy bỏ bàn phím không giấu tôi đang sử dụng cùng một mã cho cả hai trường hợp.Ẩn bàn phím trong AlertDialog
Đây là mã của tôi:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(data);
final EditText input = new EditText(this);
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(25);
input.setFilters(FilterArray);
input.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(input, 0);
}
},200);
alert.setView(input);
alert.setPositiveButton(ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
text = input.getText().toString().trim();
Canvas c = new Canvas(bitmapResult);
drawTextImage(bitmapResult);
saveimage();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(input.getWindowToken(), 0);
}
});
alert.setNegativeButton(cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
saveimage();
InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(input.getWindowToken(), 0);
}
});
alert.show();
đâu mystake của tôi? Ai giúp tôi với?
Tôi đã tìm kiếm khắp mọi nơi cho mã đó sẽ buộc các bàn phím để hiển thị trong hộp thoại cho một EditText. Ai biết bạn đã phải trì hoãn nó cho một vài phần nghìn giây đầu tiên. Cảm ơn bạn! – electrichead
Giải pháp tuyệt vời để hiển thị bàn phím :) Tôi đã có một giải pháp không hoạt động cho các phiên bản Android thấp hơn, nhưng các phiên bản của bạn rất tuyệt. Sự chậm trễ thậm chí có thể được cảm thấy như hình ảnh động;) – Poutrathor