无法从 Text Spinner getSelectedItem()
Cannot getSelectedItem() from Text Spinner
我正在使用以下 String[] 数组调用 Spinner:
String[] quantity = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"};
SetupQuantitySpinner(quantity);
这是我的微调器,它包含上面的 String[] 数组:
public void SetupQuantitySpinner(String[] quantity) {
Spinner spnr;
spnr = (Spinner)view.findViewById(R.id.spinner_quantity);
String productQuantity = spnr.getSelectedItem().toString();
System.out.println(productQuantity);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getActivity(),
R.layout.custom_spinner,
R.id.text_main_seen,
quantity);
spnr.setAdapter(adapter);
}
为什么我无法从微调器中获取选定的值?它导致我的 VM 在没有其他解释的情况下崩溃。 Spinner 有效,因为如果我删除 getSelectedItem() 行,一切正常。
因为当您调用 getSelectedItem
时,您还没有为旋转器 already.So 设置适配器,您应该在 setAdapter
之后调用它。像这样:
public void SetupQuantitySpinner(String[] quantity) {
Spinner spnr;
spnr = (Spinner)view.findViewById(R.id.spinner_quantity);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getActivity(),
R.layout.custom_spinner,
R.id.text_main_seen,
quantity);
spnr.setAdapter(adapter);
spnr.setSelection(0);
String productQuantity = quantity[spnr.getSelectedItemPosition()];
System.out.println(productQuantity);
}
我正在使用以下 String[] 数组调用 Spinner:
String[] quantity = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"};
SetupQuantitySpinner(quantity);
这是我的微调器,它包含上面的 String[] 数组:
public void SetupQuantitySpinner(String[] quantity) {
Spinner spnr;
spnr = (Spinner)view.findViewById(R.id.spinner_quantity);
String productQuantity = spnr.getSelectedItem().toString();
System.out.println(productQuantity);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getActivity(),
R.layout.custom_spinner,
R.id.text_main_seen,
quantity);
spnr.setAdapter(adapter);
}
为什么我无法从微调器中获取选定的值?它导致我的 VM 在没有其他解释的情况下崩溃。 Spinner 有效,因为如果我删除 getSelectedItem() 行,一切正常。
因为当您调用 getSelectedItem
时,您还没有为旋转器 already.So 设置适配器,您应该在 setAdapter
之后调用它。像这样:
public void SetupQuantitySpinner(String[] quantity) {
Spinner spnr;
spnr = (Spinner)view.findViewById(R.id.spinner_quantity);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getActivity(),
R.layout.custom_spinner,
R.id.text_main_seen,
quantity);
spnr.setAdapter(adapter);
spnr.setSelection(0);
String productQuantity = quantity[spnr.getSelectedItemPosition()];
System.out.println(productQuantity);
}