【问题标题】:spinner with out "select option" but it should show blank没有“选择选项”的微调器,但它应该显示为空白
【发布时间】:2012-06-14 19:17:50
【问题描述】:

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

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

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");

如何创建最初不显示任何文本的 Spinner?

更新:

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());

【问题讨论】:

  • 当您将空格放在第一个选项中时,您的 ui 变得丑陋是什么意思?
  • 表示它创建一个带有空数据的新行..当我打开弹出窗口时。它看起来不太好。1-空行 2-数据行。但是没有创建这一行我 cn' t 使微调器空白(因为微调器默认采用第一个值)
  • 标准微调器就是这样工作的,您无能为力。您可以从头开始创建自己的微调器,也可以获取微调器的源并对其进行修改。
  • 如果您可以选择删除该附加行,但微调器默认不应采用数据行。它应该显示空白。然后指导我
  • 试试this 教程可能会有所帮助..我遇到了同样的问题..但正如克里斯蒂娜所说的微调器是如何工作的,她是对的

标签: android android-spinner


【解决方案1】:

在oncreate方法中写下这段代码:

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中

字符串.xml

<string-array name="gender_array"> 
       <item> </item>          
        <item>Male</item>        
        <item>Female</item>          
    </string-array>

它会正常工作。

【讨论】:

  • 不像我的代码那样工作...它还包含空行。在选择该行时,它也选择了
【解决方案2】:

您应该在适配器中包含表示“选择”或其他内容的额外条目,并使其成为 Spinner 中的初始选定项。

或者您可能必须创建自定义微调器或我不确定的东西。

【讨论】:

  • 这些都是我做过的事情..但没有找到成功..................k 如果我使用“select”,你能指导一下吗?我也将出现在列表中,并且它也是可选择的.....告诉我如何使这个“选择”..无法聚焦或不可选择(意味着当我点击“选择”时它应该是 nutrul )
【解决方案3】:

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

 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();

                }
            });

字符串.xml

<string-array name="gender_array">      
        <item>Male</item>        
        <item>Female</item>          
</string-array>

【讨论】:

    猜你喜欢
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    相关资源
    最近更新 更多