adapter.notifyDataSetChanged();不会刷新RoomId.setSelection(0);和RoomId.setOnItemSelectedListener(new RoomOnItemSelectedListener());
时间: 2024-05-13 11:18:45 浏览: 163
浅谈Android中适配器的notifyDataSetChanged()为何有时不刷新
`adapter.notifyDataSetChanged()`方法是用于通知适配器数据发生改变,让适配器重新加载数据并刷新列表的。它只会刷新列表,不会影响其他控件的状态。因此,它不会刷新`RoomId.setSelection(0)`和`RoomId.setOnItemSelectedListener(new RoomOnItemSelectedListener())`这两个控件的状态。
如果你想要刷新`RoomId`的状态,可以使用以下代码:
```
RoomId.setSelection(0);
adapter.notifyDataSetChanged();
```
这样就可以先将`RoomId`的选项置为第一个,然后再刷新列表了。
同理,如果你想要刷新`RoomId`的`OnItemSelectedListener`,可以使用以下代码:
```
RoomId.setOnItemSelectedListener(null);
RoomId.setOnItemSelectedListener(new RoomOnItemSelectedListener());
```
这样就可以先将`OnItemSelectedListener`设为null,然后再重新设置为`RoomOnItemSelectedListener`了。
阅读全文