有没有办法以编程方式设置微调器的名称选择?

时间:2014-09-23 01:00:32

标签: java android

我一直试图想出这一段时间,但无论我看多少,我都没有找到答案。到目前为止,我已经检查了以下问题:Set selected item of spinner programmaticallyHow to set selected item of Spinner by value, not by position?How to set position in spinner?。到目前为止,他们都没有为我工作过。我试图在Android 4.4.2上执行此操作,这是我的代码:

String dataReturned11 = someData.getString("unitCheckFour", "degrees F");
if (dataReturned11 == ("degrees C")) {
    tempUnits.setSelection(((ArrayAdapter<String>)tempUnits.getAdapter()).getPosition("degrees C"));
} else {
    tempUnits.setSelection(((ArrayAdapter<String>)tempUnits.getAdapter()).getPosition("degrees F"));
};

我要做的是根据之前保存的值设置它,它似乎不起作用。需要注意的一点是,这给了我一个未经检查的投射警告,所以我压制了它。它似乎对我的问题没有任何影响。

编辑:因为它被要求,这里是微调器背后的代码:

tempUnits = (Spinner) findViewById(R.id.tempUnits);
ArrayAdapter<CharSequence> adapter4 = ArrayAdapter.createFromResource(this,
    R.array.tempUnits, android.R.layout.simple_spinner_item);
adapter4.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
tempUnits.setAdapter(adapter4);

我希望这会有所帮助。

1 个答案:

答案 0 :(得分:0)

是的。

 for (int i=0;i<projectArray.size();i++)
    {
        if (projectArray.get(i).getName().equals(tasksArray.get(position).getProject()))
        {
            project.setSelection(i);
            return;
        }
    }