动态删除ViewPager的Fragment页面的时候,Fragment的EditText自动运行addTextChangedListener里面3个方法的问题

头发还没秃a 2016-12-09 05:58:38
我在viewpager添加了两个页面, new的是同一个fragment :

list<MyFragment> list = new ArrayList<MyFragment>();
for(int i=0; i<2; i++){
MyFragment fragment = new MyFragment();
list.add(fragment);
}
pagerAdapter.notifyDataSetChanged();

fragment1 里面一个EditText输入字符 “哈哈”,
fragment2 里面一个EditText输入字符 “嘿嘿”,
然后在fragment1界面点击删除这个界面,保留fragmen2 界面,
发现fragment1 里面的“哈哈”跑到fragment2的editText里面去了,
fragment2的editText自动运行了addTextChangedListener里面的3个方法,打印log如下:

FirstFragment : 删除的界面:FirstFragment
FirstFragment : 删除的界面的EditText = 哈哈
SecondFragment : SecondFragment界面的EditText = 嘿嘿
SecondFragment : beforeTextChanged = 嘿嘿
SecondFragment : onTextChanged = 哈哈
SecondFragment : afterTextChanged = 哈哈


求大神解救
...全文
469 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
头发还没秃a 2016-12-17
  • 打赏
  • 举报
回复
啊啊啊啊啊啊,要疯了
头发还没秃a 2016-12-15
  • 打赏
  • 举报
回复
别沉,求解救
头发还没秃a 2016-12-14
  • 打赏
  • 举报
回复
引用 7 楼 qq840727854 的回复:
如 5楼 所说 xml 一样的话 并且 edittext 的 id 是一样的话 有可能造成 这种情况 你试着 用2个不同的 xml 并且把 id 换一下试试
因为都是同一种界面,所以用的是同一个 xml , 项目需要,即使换个xml不会出现这种情况也无法更改
qq840727854 2016-12-13
  • 打赏
  • 举报
回复
如 5楼 所说 xml 一样的话 并且 edittext 的 id 是一样的话 有可能造成 这种情况 你试着 用2个不同的 xml 并且把 id 换一下试试
哎,真难 2016-12-13
  • 打赏
  • 举报
回复
两个fragement是不是用了一个xml
头发还没秃a 2016-12-13
  • 打赏
  • 举报
回复
引用 3 楼 lpk_6 的回复:
换个适配器?状态保存了? 换FragmentpagerstateAdapter
现在用的就是这个,viewpager动态添加删除只能用这个适配器
头发还没秃a 2016-12-13
  • 打赏
  • 举报
回复
引用 5 楼 heaimnmn 的回复:
两个fragement是不是用了一个xml
是的
头发还没秃a 2016-12-12
  • 打赏
  • 举报
回复
引用 1 楼 yuelengdihai 的回复:
断点看看不就知道咋回事啦
lpk_6 2016-12-12
  • 打赏
  • 举报
回复
换个适配器?状态保存了? 换FragmentpagerstateAdapter
cocoabird 2016-12-09
  • 打赏
  • 举报
回复
断点看看不就知道咋回事啦

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧