界面是这样的:
我用tab+viewpager实现了一个这种选项卡加滑动的效果,然后实际上是每次都是按下上面那个consume或者income才inflate一个跟其对应的layout,所以我每次inflate的layout里面所有的button都是unchecked状态。(consume选项会inflate consume.layout;income选项会inflate income.layout)
但是我想要实现:这个页面可以接收一个参数(这个参数指定哪个button需要变成checked状态),当进入这个页面时某个button直接就处于checked状态了,就像下面这样:
然后我思路的问题是 我不知道该怎样得到inflate consume.layout或inflate income.layout后返回的view,所以就无法(Button)view.findViewById(R.id.button).setChecked(true)。
问题:
1.跪求大佬给个解决办法,或者其他能实现这种效果的思路。
2.另:这里的Button其实我是想弄一个radiobutton的,但是我又不想用radiogroup默认的linearlayout,然后就自己弄的一个relativelayout,但这样单选就失效了,我看stackoverflow上说只能手动给每个button添加一个onclicklistener事件实现单选。请问还有其他解决方法可以让它恢复单选吗?
두 가지 솔루션:
1
으아악2 EventBus 사용
FragmentPagerAdapter
을 사용하는 경우 특정 뷰를 가져올 필요 없이 해당 프래그먼트를 가져온 다음 프래그먼트에 메서드를 제공하여 내부 뷰를 업데이트하면 됩니다.ViewPager는 ViewPager+Fragment를 참조하여 Fragment 인스턴스를 얻을 수 있습니다. 특정 Fragment의 데이터 조각이 변경되면 이 데이터를 부분적으로 새로 고치는 방법에 대한 질문이 내 대답입니다.
어댑터에서 찾기:
으아아아여기에 반환된 개체는 새 페이지이며 fvb 아래에서 버튼을 얻을 수 있습니다