android - 在 AlertDialog 上显示 NumberPicker

标签 android android-alertdialog numberpicker

我正在尝试在 AlertDialog 上显示 NumberPicker。
AlertDialog 有效,但它不显示 NumberPicker。

这是我的代码

public Dialog onCreateDialog(Bundle savedInstanceState){
    final NumberPicker numberPicker = new NumberPicker(getActivity());
    numberPicker.setMaxValue(360);
    numberPicker.setMinValue(0);


    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle("Changing the Hue");
    builder.setMessage("Choose a value :");
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialogHost.onPositiveButton(numberPicker.getValue());
        }
    });
    builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener(){

        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialogHost.onCancelButton();
        }
    });
    return builder.create();
}

最佳答案

你需要包括两行:

  1. builder.setView(numberPicker);
  2. return build.show()

所以,代码必须是这样的:

public Dialog onCreateDialog(Bundle savedInstanceState)
{
    final NumberPicker numberPicker = new NumberPicker(getActivity());
    numberPicker.setMaxValue(360);
    numberPicker.setMinValue(0);


    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setView(numberPicker);    
    builder.setTitle("Changing the Hue");
    builder.setMessage("Choose a value :");
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) 
    {
        dialogHost.onPositiveButton(numberPicker.getValue());
    }
    });
    builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener()
{
    @Override
    public void onClick(DialogInterface dialog, int which) 
    {
        dialogHost.onCancelButton();
    }
    });
   builder.create();
   return builder.show();
}

关于android - 在 AlertDialog 上显示 NumberPicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40162539/

相关文章:

android - 将一个 Android JSON 应用程序迁移到 Android 中的一个简单应用程序

android - Android 中 IntentService 的多个实例

Android - 使表面 View 大于父级

java - 滚动值时 Numberpicker 抛出 ArrayIndexOutOfBoundsException

android - 数字选择器数据未正确显示 android

android - 如何检测是什么触发了 android sdk onCameraChange 调用

android - AlertDialog 中的自定义 Listview 隐藏对话框的消息?

android - Soft KeyBoard 不会在 AlertDialog 的 EditText 中弹出

android - 没有单选按钮的 AlertDialog setSingleChoice

android - 如何在 Android NumberPicker 中更改垂直间距