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

界面是这样的:

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

黄舟
黄舟

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

membalas semua(3)
小葫芦

Dua penyelesaian:

1

pageAdapter.instantiateItem(viewpager, position)

2 Menggunakan EventBus

PHPzhong

Jika anda menggunakan FragmentPagerAdapter, maka anda tidak perlu mendapatkan Paparan tertentu, cuma dapatkan Fragmen yang sepadan, kemudian berikan kaedah dalam Fragmen untuk mengemas kini Paparan di dalam.

ViewPager boleh merujuk kepada ViewPager+Fragment untuk mendapatkan contoh Fragment Apabila sekeping data dalam Fragment tertentu berubah, jawapan saya adalah dalam soalan ini: Bagaimana untuk memuat semula sebahagian data ini.

洪涛

Cari dalam penyesuai anda:

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

Objek yang dikembalikan di sini ialah halaman baharu anda, dan anda boleh mendapatkan butang anda di bawah fvb

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!