我有一个列表,我在其中输入数据,并从微调器中选择一个值。假设我想从微调器中选择一个不同的值,在选择新值之前如何在微调器中首先显示先前选择的值?
这是我最初选择的值
在我选择一个新值之前,微调器应包含我之前选择的值。
答案 0 :(得分:0)
edt_dress_code.getSelectedItem().toString()
get selected item value
答案 1 :(得分:0)
请参阅此示例代码: -
在MainActivity.xml中
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
在MainActivity.Java中
private ArrayAdapter<String> spinnerArrayAdapter;
在适配器中初始化微调器项目
final List<String> items = new ArrayList<>();
items.add("Select an item");
items.add("Item1");
items.add("Item2");
items.add("Item3");
items.add("Item4");
items.add("Item5");
final Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items);
spinner.setAdapter(spinnerArrayAdapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
try {
if (position > 0) {
if (position == spinnerArrayAdapter.getPosition("Item5")) {
String previousSelectedITem = (String) spinner.getSelectedItem();
items.clear();
spinnerArrayAdapter.notifyDataSetChanged();
items.add("Select an item");
items.add("Item1");
items.add("Item3");
items.add("Item5");
items.add("Item7");
items.add("Item9");
spinnerArrayAdapter.notifyDataSetChanged();
spinner.setSelection(spinnerArrayAdapter.getPosition(previousSelectedITem));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
在选择“Item5”的情况下,我正在更新微调器项目,并选择之前选择的值。