【发布时间】:2012-12-15 01:06:17
【问题描述】:
我正在尝试将 NumberPicker 添加到 AlertDialog,但即使似乎没有错误,它也不会出现。我是 Android 编码的新手,所以我认为那里缺少一些非常愚蠢的东西。
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
alert.setTitle("Select the value: ");
NumberPicker np = new NumberPicker(MainActivity.this);
String[] nums = new String[100];
for(int i=0; i<nums.length; i++)
nums[i] = Integer.toString(i);
np.setMinValue(1);
np.setMaxValue(nums.length-1);
np.setWrapSelectorWheel(false);
np.setDisplayedValues(nums);
np.setValue(50);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Do something with value!
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Cancel.
}
});
alert.show();
【问题讨论】:
-
另外,要获得选择的号码,您需要将
NumberPicker np声明为final,以便您可以从onClick()方法中访问它,或者添加一个NumberPicker.OnValueChangeListener侦听器到np。 -
谢谢!对于将来,我想添加“确定”按钮来获取选择的数字和日期并将其保存到 SQL 数据库。从 NumberPicker 获取它的最简单方法是什么?
-
在创建时声明
final NumberPicker np,然后在onClick()中表示“OK”,使用int value = np.getValue()来获取选择的号码。 -
再次感谢您! :)
-
+1,我遇到了类似的问题,但是您似乎希望您的初始值从零开始,
np.setMinValue(0);而不是np.setMinValue(1);,否则当您np.getValue()时它会关闭一个
标签: android user-interface components android-alertdialog numberpicker