如何在Android中首先显示Spinner选择的项目

时间:2011-10-21 08:57:21

标签: android

在我的应用程序中,我有一个带有数据车,手推车,货车,卡车等的微调器。 在按钮单击我保存微调器选定的项目和数据库中的其他项目。 现在在另一个按钮单击我想显示所有已保存的数据,因此我想先显示以前保存的微调器项而不是默认值。

我怎样才能实现这一目标,请有人建议我

Ex:在微调器1,2,3,4现在显示如果我现在选择3并保存在数据库中这次我想将微调器数据显示为3,4,1,2。

4 个答案:

答案 0 :(得分:4)

通过从DB获取微调器的索引并在微调器项上设置当前选择的索引非常简单,例如,如果微调器位置存储在DB中  然后将其设置为        spinner.setSelection(2);// Note : Position starts from 0,1,2,3 on array

答案 1 :(得分:2)

您可以更改微调器内容,如下所示

String[] items = new String[] {"3","4", "1","2"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, items);
    spinner2.setAdapter(adapter);

答案 2 :(得分:2)

所以我理解正确,你想根据用户以前的选择重新排序微调器项?在这种情况下,您只需更新分配给微调器的适配器。

我猜你在这种情况下连接了一个简单的ArrayAdapter,所以一个基本的解决方案是在选择之后修改该适配器中包含的字符串的顺序。

答案 3 :(得分:1)

ArrayList listArray = new ArrayList();

    listArray.add("one");
    listArray.add("two");
    listArray.add("three");

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, listArray.toArray(strArray););
        spinner2.setAdapter(adapter);

这里将项目作为ArrayList,当用户点击任何项目时,打破该两个部分的arraylist从该点开始并指向最后一个。然后采取一个临时arraylist并添加第二部分然后第一部分,所以在那一个。 并再次致电

adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_spinner_item, listArray.toArray(strArray););
            spinner2.setAdapter(adapter);
相关问题