java - tab+viewpager中获取view中的控件问题
黄舟
黄舟 2017-04-18 10:30:56
0
3
491

界面是这样的:

我用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事件实现单选。请问还有其他解决方法可以让它恢复单选吗?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(3)
小葫芦

Two solutions:

1

pageAdapter.instantiateItem(viewpager, position)

2 Using EventBus

PHPzhong

If you are using FragmentPagerAdapter, then you don’t need to get the specific View, just get the corresponding Fragment, and then provide methods in the Fragment to update the View inside.

ViewPager can refer to ViewPager+Fragment to obtain a Fragment instance. When a piece of data in a certain Fragment changes, my answer to the question is how to partially refresh this data.

洪涛

Find it in your adapter:

@Override
public Object instantiateItem(ViewGroup container, int position) {
    return super.instantiateItem(container, position);
}

The object returned here is your new page, and you can get your button under fvb

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!