我正在创建一个包含数字选择器的片段,并取消 okay 按钮。每当我单击主活动中的第一个微调器时,微调器都会弹出包含数字选择器的片段。我使用getValue()
方法选择数字选择器值,但是如何将此值传递回主活动中的微调器。我尝试使用来自微调器的getposition()
方法,但它不起作用,因为我没有使用setAdapter()
方法为我的微调器赋值,我只想让我的微调器显示从中检索的唯一值片段编号选择器。
OnCreate功能
s = (Spinner) findViewById(R.id.spinner1);
s.setOnTouchListener(onSpinnerTouchListener);
以下是我的onSpinnerTouchListener:
LayoutInflater li = LayoutInflater.from(TaxCalc.this);
View promptView = li.inflate(R.layout.frag_numpicker, null);
AlertDialog.Builder builder = new AlertDialog.Builder(TaxCalc.this);
builder.setView(promptView);
builder.setTitle("Choose Amount of People");
builder.setPositiveButton("OK",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int value = mNumberPicker.getValue();
});
builder.setNegativeButton("NO",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
alertDialog.cancel();
}
});
mNumberPicker = (NumberPicker) promptView.findViewById(R.id.number_picker);
array_spinner = new String[30];
for (i = 0; i < 30 ; i++){
array_spinner[i] = Integer.toString(i+1);
}
mNumberPicker.setMaxValue(array_spinner.length-1);
mNumberPicker.setMinValue(0);
mNumberPicker.setWrapSelectorWheel(false);
mNumberPicker.setDisplayedValues(array_spinner);
alertDialog = builder.create();
alertDialog.show();
alertDialog.setCanceledOnTouchOutside(false);