关于android:spinner,没有“选择选项”,但应显示为空白

spinner with out “select option” but it should show blank

我正在创建一个微调器。 微调器将第一行值显示为默认文本。
我希望微调框的文本最初是空白的。

我可以用list.add("");添加一个新的空行,但是我认为这种方法很难看。

1
2
3
list.add("");//this make my ui ugly but with out this i can't make my spinner blank in starting.
list.add("1");//if i remove add("").then spinner take add("1") this should not happen
list.add("2");

如何创建最初不显示任何文本的微调框?

更新:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
urineGlucoseSpinner =  (Spinner) view.findViewById(R.id.spnner_urine_glucose);
ArrayList<String> ugList = new ArrayList<String>();
ugList.add("select");
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.setOnItemSelectedListener(new OnUGItemSelected());


在oncreate方法中编写以下代码:

1
2
3
4
5
6
7
Spinner gender = (Spinner) findViewById(R.id.gender);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.gender_array,
                android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        gender.setAdapter(adapter);
gender.setSelection(0);

并复制以下代码并粘贴在string.xml中

String.xml

1
2
3
4
5
<string-array name="gender_array">
       <item> </item>          
        <item>Male</item>        
        <item>Female</item>          
    </string-array>

它会正常工作。


使图像看起来像下拉菜单,然后将它们放在textview的背景中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 Textview  gender=(Textview)findViewById(R.id.gender)
  gender.setText("");
  gender.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    AlertDialog.Builder conductor = new AlertDialog.Builder(
                            Calculator.this);
                    conductor.setTitle("Select Gender");

                    int resId = getResources().getIdentifier("gender_array",
                           "array", getPackageName());
                    conductor.setItems(resId,
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                        int index) {                            
                                    int resId1 = getResources().getIdentifier(
                                           "gender_array","array",
                                            getPackageName());

                                    gender.setText(getResources()
                                            .getStringArray(resId1)[index]);                                
                                }
                            });
                    AlertDialog alert = conductor.create();
                    alert.show();

                }
            });

String.xml

1
2
3
4
<string-array name="gender_array">      
        <item>Male</item>        
        <item>Female</item>          
</string-array>

您应该在表示" Select"之类的适配器中包括额外的条目,并将其作为Spinner中的初始选定项。

或者,可能您将不得不创建自定义微调器或某些我不确定的东西。