Để tất cả,NumberPicker trong AlertDialog luôn kích hoạt bàn phím. Làm thế nào để vô hiệu hóa điều này?
Tôi đang cố gắng để có được một NumberPicker đơn giản để làm việc trong một AlertDialog. Vấn đề là bất cứ khi nào tôi tăng/giảm giá trị trong trình đánh số, bàn phím sẽ kích hoạt.
Có nhiều bài đăng mô tả sự cố này, nhưng không có đề xuất nào hoạt động. Tôi đã thử:
android:configChanges="keyboard|keyboardHidden"
Và
inputManager.hideSoftInputFromWindow(currentView.getWindowToken(), 0);
Và
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Tôi đã cố gắng kêu gọi các chức năng này trước và sau khi khởi tạo (dialog.show()), vào các sự kiện phím nhấn (sử dụng thính giả rõ ràng), vv nhưng không may mắn cho đến nay.
Các mã hoàn chỉnh:
popup.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<NumberPicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myNumber"
android:configChanges="keyboard|keyboardHidden"
/>
</RelativeLayout>
Và chức năng gọi điện thoại:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
} });
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
} });
View view = getLayoutInflater().inflate(R.layout.popup, null);
builder.setView (view);
final AlertDialog dialog = builder.create();
NumberPicker picker = (NumberPicker) view.findViewById(R.id.myNumber);
picker.setMinValue(0);
picker.setMaxValue(999);
dialog.getWindow().
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
dialog.show();
Bất kỳ giúp đánh giá cao
Barry
Bạn cũng có thể thiết lập điều này trong XML: android: descendantFocusability = "blocksDescendants" – Borzh