最近在做一个效果,如下图:
初始1为选中,展现一布局。点2则2为选中,其他不选中,3也一样。当点击搜索时这3个都不选中(这里我隐藏了一个4,当点击搜索隐藏的4为选中,其他就会呈现都不选中的情况)。
起初我使用了Radiogroup.check(1的id)来初始化。并没有发现有什么异常。
但在我运行搜索时,发现了界面并没有直接呈现出我想要的效果。而是不管搜索什么都出现一样的数据。即搜索框内为空的搜索数据。
故而我查询了代码中的逻辑,目光锁定在了每次搜索完我都会清空Editview内的数据。每次出现同样的空数据,极其有可能当我点击搜索时运行Radiogroup.check(4的id)时,在监听事件内不止一次的响应了。故而在第一次响应后Editview已经清空,所以每次都会呈现一样的数据。
所以我就查看了下radiogroup的源码:
public void check(int id) {
// don't even bother
if (id != -1 && (<