Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在自定义对话框中填充NumberPicker_Java_Android - Fatal编程技术网

Java 在自定义对话框中填充NumberPicker

Java 在自定义对话框中填充NumberPicker,java,android,Java,Android,我正在尝试在自定义对话框中填充NumberPicker。目前我正在使用一种方法,它使用一个视图并膨胀另一个布局(对话框),然后该方法应该填充NumberPicker,但当我在onCreate中调用它时,它不会 该方法的代码为: public void fillArray() { View inflatedView = getLayoutInflater().inflate(R.layout.add_activity, null); np_hours = ( NumberPick

我正在尝试在自定义对话框中填充NumberPicker。目前我正在使用一种方法,它使用一个视图并膨胀另一个布局(对话框),然后该方法应该填充NumberPicker,但当我在onCreate中调用它时,它不会

该方法的代码为:

public void fillArray() {

    View inflatedView = getLayoutInflater().inflate(R.layout.add_activity, null);
    np_hours = ( NumberPicker ) inflatedView.findViewById( R.id.hourNumber );
    np_minutes = ( NumberPicker ) inflatedView.findViewById( R.id.minuteNumber );
    String[] hoursArray = new String[25];
    String[] minutesArray = new String[61];
    for( i = 0; i < hoursArray.length; i++ ) {
        hoursArray[i] = Integer.toString( i );
    }

    for( x = 0 ; x < minutesArray.length; x++ ){
        minutesArray[x] = Integer.toString( x );
    }
    np_hours.setMinValue( 0 );
    np_hours.setMaxValue( 24 );
    np_hours.setWrapSelectorWheel( false );
    np_hours.setDisplayedValues( hoursArray );

    np_minutes.setMinValue( 0 );
    np_minutes.setMaxValue( 60 );
    np_minutes.setWrapSelectorWheel( false );
    np_minutes.setDisplayedValues( minutesArray );
}
public void fillArray(){
View inflatedView=GetLayoutFlater().inflate(R.layout.add_活动,null);
np_小时=(NumberPicker)充气视图.findViewById(R.id.hourNumber);
np_minutes=(NumberPicker)充气视图.findViewById(R.id.minuteNumber);
字符串[]hoursArray=新字符串[25];
字符串[]分钟数组=新字符串[61];
对于(i=0;i
编辑:


这样做的目的是选择某件事的持续时间(而不是时间)-如果这造成了混乱,请道歉

因为您只需要连续的数字,所以不需要创建边数组

您可以按如下方式进行操作:

public void fillArray(){
View inflatedView=GetLayoutFlater().inflate(R.layout.add_活动,null);
np_小时=(NumberPicker)充气视图.findViewById(R.id.hourNumber);
np_小时设置最大值(24);
np_小时设置最小值(0);
np_minutes=(NumberPicker)充气视图.findViewById(R.id.minuteNumber);
np_分钟设置最大值(60);
np_分钟。设置最小值(0);
}
如果这不起作用,请发布您的XML布局和完整的活动代码(至少是onCreate()方法)

参考:

更新

@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.plan_活动);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
@SuppressLint(“新API”)
公共无效自适应(视图){
AlertDialog.Builder=新建AlertDialog.Builder(此);
视图父视图=充气机。充气(R.layout.add\u活动,空);
LayoutInflater充气机=this.getLayoutInflater();
builder.setView(parentView);
setPositiveButton(R.string.add_活动,new DialogInterface.OnClickListener(){
public void onClick(DialogInterface对话框,int-id){
//斯特特
}
})
.setNegativeButton(R.string.cancel,新建DialogInterface.OnClickListener(){
public void onClick(DialogInterface对话框,int-id){
dialog.cancel();
}
});
填充数组(父视图);
//创建AlertDialog对象并返回它
AlertDialog mainAlert=builder.create();
mainAlert.show();
}
//方法来填充NumberPicker的
公共空白填充数组(视图){
视图充气视图=视图;
np_小时=(NumberPicker)充气视图.findViewById(R.id.hourNumber);
np_小时设置最大值(24);
np_小时设置最小值(0);
np_minutes=(NumberPicker)充气视图.findViewById(R.id.minuteNumber);
np_分钟设置最大值(60);
np_分钟。设置最小值(0);
}

如果您想让数字选择器选择时间,为什么不使用时间选择器?请参阅:因为我希望它选择活动的持续时间,即小时数=3小时,分钟数=2分钟。可能应该说:)这不起作用:/。我已将我的代码编辑到主帖子中!:)是我错了,还是你没有称之为adActivity(视图五);在onCreate()中,应该如何调用fillArray()?adActivity(视图);在“plan_activity.xml”文件中调用:您正在双重膨胀相同的add_活动布局。尝试将fillArray()移动到方法的底部并传递父视图,而不是在方法本身中膨胀它。