我一直试图想出这一段时间,但无论我看多少,我都没有找到答案。到目前为止,我已经检查了以下问题:Set selected item of spinner programmatically,How 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);
我希望这会有所帮助。
答案 0 :(得分:0)
是的。
for (int i=0;i<projectArray.size();i++)
{
if (projectArray.get(i).getName().equals(tasksArray.get(position).getProject()))
{
project.setSelection(i);
return;
}
}