【问题标题】:Spinner Default text while the values in spinner are from databaseSpinner 默认文本,而微调器中的值来自数据库
【发布时间】:2016-03-15 11:12:38
【问题描述】:

我需要一个微调器的默认文本,其中微调器中的值来自数据库,使用 arrayadapter 将所有详细信息从数据库获取到微调器,但我无法为其应用像选择大小这样的默认文本。看了很多帖子,但我没有找到具有相同要求的帖子。 请帮帮我:(这是代码

String siz =feedObj.getString("P_Size");
Size=(Spinner)findViewById(R.id.size);
if(siz!= null && !siz.isEmpty())
{
String[] seperatedsize = siz.split(", ");     
ArrayAdapter spinnersize = new ArrayAdapter(this,android.R.layout.simple_spinner_item,seperatedsize);
spinnersize.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Size.setAdapter(spinnersize);
//  spinnersize.add("select");
//  spinnersize.setPrompt("Select your Size!");
}
else
{   
layoutsize.setVisibility(View.GONE);
Size.setVisibility(View.GONE);
}

这是图片

image

【问题讨论】:

    标签: java android database spinner android-arrayadapter


    【解决方案1】:

    考虑一下这个在 Stack Overflow 上发布的方便的帖子,你得到了你想要的。

    1. Show default value in Spinner in android

    2. How to make an Android Spinner with initial text "Select One"

    【讨论】:

    • 您好,感谢您的回答,您提供的链接(我试过了,但没有用,它们只显示默认文本,我也可以这样做)但我想要两者(默认文本 + 数据库值)。像这样stackoverflow.com/questions/867518/…(第三张图片)在这里他正在从字符串中获取数据,但在这里我想要来自具有默认文本的数据库中的数据。有什么帮助吗?
    • @aayviD 我认为您在谈论这样的事情> 就像有 5,6 或即将来自数据库的值,并且您需要一个值位于微调器列表的顶部。如果是这样,那么当您完成从 db 获取值时,您可能需要在列表中添加一个默认值。如果不是那么请详细说明您的问题可能是我理解不同的东西
    • 我在数据库中有一个名为 P_Size 的字段,其中我有值(SS、XS、XXL、XL)。我需要所有这些值都在我的微调器中(我这样做了),而且顶部的默认文本。
    【解决方案2】:
    if(siz!= null && !siz.isEmpty())
    {
    String[] seperatedsize = siz.split(", ");
    **StringBuilder stringBuilder = new StringBuilder();
    stringBuilder.append("Select your Size!").append(",");
    for (int i = 0; i < arr.length; i++){
        stringBuilder.append(arr[i]).append(",");
    }
    String strTemp=sb.toString();
    seperatedsize=strTemp.split(",");**     
    ArrayAdapter spinnersize = new ArrayAdapter(this,android.R.layout.simple_spinner_item,seperatedsize);
    spinnersize.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    Size.setAdapter(spinnersize);
    //  spinnersize.add("select");
    //  spinnersize.setPrompt("Select your Size!");
    }
    

    你可以试试这个。

    您可以使用ArrayList&lt;String&gt; 来保存您的数据。将数据存储在数组列表中后,只需使用ArrayList&lt;String&gt; 对象调用add(0,"Select your Size!")。

    演示代码:

    ArrayList<String> arrayList = new ArrayList<String>();
    arrayList.add("b");
    arrayList.add("c");
    arrayList.add("d");
    arrayList.add("e");
    arrayList.add("f");
    arrayList.add(0, "a");
    

    结果:a,b,c,d,e,f

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多