1

我正在尝试创建不应该有任何select但不是它的微调器,它应该显示空白,单击可以选择的项目后。

这是我的代码,请帮忙。

urineGlucoseSpinner =  (Spinner) view.findViewById(R.id.spnner_urine_glucose);

    ArrayList<String> ugList = new ArrayList<String>();
    ugList.add(0,"");
    ugList.add("1.5");
    ugList.add("5.5");
    ugList.add("0.8");
    ugList.add("9.5");
    ugList.add("12.0");

    //ArrayAdapter<String> urineGlucoseAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item, ugList);
    ArrayAdapter<String> urineGlucoseAdapter = new ArrayAdapter<String>(getActivity(),R.layout.custom_spinner_text, ugList);
    urineGlucoseAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    urineGlucoseSpinner.setAdapter(urineGlucoseAdapter);
    urineGlucoseSpinner.setSelection(0);
    urineGlucoseSpinner.setOnItemSelectedListener(new OnUGItemSelected());
4

2 回答 2

1

默认情况下,如果您没有选择任何一个,则微调器将采用数组第 0 个元素..您必须制作 ArrayList 的对象,对于第 0 个元素,您必须将“”(null Sting)放在分号内并将其作为第 0 个元素...我认为这个是您问题的唯一解决方案..

 ArrayList<String> ugList = new ArrayList<String>();
 ugList.add("");
于 2012-06-13T11:03:58.480 回答
0

我可以看到两种方法来做到这一点。

1) 在位置 0 处将空行添加到您的数据中,然后创建一个自定义微调器适配器并覆盖该getView方法,并在其中使用if将 0 位置视图设置为 GONE(从而摆脱列表中的空行)。

2)另一种方法可能是在您的表单中设置一个空的 EditText,当它获得焦点时,在对话框中弹出一个列表视图,其中包含您可能的选择。

于 2012-06-13T14:19:18.893 回答