我有一个带有宠物类型列表的微调器。我希望原始文本被下拉菜单中的新选项替换,但是如下面的第3个快照中所示,新文本将覆盖原始文本。以下屏幕截图将更好地解释情景。
以下是代码段。
ArrayList<String> petDropDownList = new ArrayList<String>();
petDropDownList.add(0, "CAT");
petDropDownList.add(1, "DOG");
petDropDownList.add(2, "HORSE");
petDropDownList.add(3, "COW");
final Spinner petTypeSelect = (Spinner)rootView.findViewById(R.id.pet_type_spinner);
final ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getContext(),
android.R.layout.simple_spinner_item,
petDropDownList);
petTypeSelect.setAdapter(spinnerAdapter);
petTypeSelect.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
// ??
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// ??
}
});
处理这种情况的最佳方法是什么?
答案 0 :(得分:0)
经过2天的调试后,我意识到问题出在片段类的双重调用上。以下是我弄清楚问题的方法。
总结一下这个问题,下拉列表似乎总是覆盖以前的选择。为了解决这个问题,我不得不删除片段的双实例化。我在xml中创建了一个,在Activity类中创建了另一个。我删除了一个,问题得到解决。