gpt4 book ai didi

java - 在自定义对话框中填充 NumberPicker

转载 作者:行者123 更新时间:2023-11-29 21:14:51 26 4
gpt4 key购买 nike

我正在尝试在自定义对话框中填充 NumberPicker。目前我正在使用一种方法,该方法使用 View 并扩展另一个布局(对话框),该方法应该填充 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 = getLayoutInflater().inflate(R.layout.add_activity, null);
np_hours = ( NumberPicker ) inflatedView.findViewById( R.id.hourNumber );

np_hours.setMaxValue(24);
np_hours.setMinValue(0);

np_minutes = ( NumberPicker ) inflatedView.findViewById( R.id.minuteNumber );
np_minutes.setMaxValue(60);
np_minutes.setMinValue(0);

}

如果这不起作用,请发布您的 XML 布局和完整的 Activity 代码(至少是 onCreate() 方法)。

引用:

NumberPicker Class

更新

@Override
protected void onCreate( Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
setContentView( R.layout.plan_activity );
}

@Override
public boolean onCreateOptionsMenu( Menu menu ) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate( R.menu.main, menu );
return true;
}

@SuppressLint("NewApi")
public void adActivity( View view ) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View parentView = inflater.inflate(R.layout.add_activity, null);
LayoutInflater inflater = this.getLayoutInflater();
builder.setView(parentView);
builder.setPositiveButton(R.string.add_activity, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//Stert
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
fillArray(parentView);
// Create the AlertDialog object and return it
AlertDialog mainAlert = builder.create();
mainAlert.show();

}

// Method to fill the NumberPicker's
public void fillArray(View view) {

View inflatedView = view;
np_hours = ( NumberPicker ) inflatedView.findViewById( R.id.hourNumber );
np_hours.setMaxValue(24);
np_hours.setMinValue(0);

np_minutes = ( NumberPicker ) inflatedView.findViewById( R.id.minuteNumber );
np_minutes.setMaxValue(60);
np_minutes.setMinValue(0);


}

关于java - 在自定义对话框中填充 NumberPicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21714945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com