ホームページ  >  に質問  >  本文

java - tab+viewpager中获取view中的控件问题

界面是这样的:

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

黄舟黄舟2712日前460

全員に返信(3)返信します

  • 高洛峰

    高洛峰2017-04-18 10:32:56

    2 つの解決策:

    1

    リーリー

    2 EventBus の使用

    返事
    0
  • PHPz

    PHPz2017-04-18 10:32:56

    を使用している場合は、特定のビューを取得する必要はありません。対応するフラグメントを取得し、そのフラグメントにメソッドを提供して、内部のビューを更新します。FragmentPagerAdapter

    ViewPager は ViewPager+Fragment を参照して Fragment インスタンスを取得できます。特定の Fragment 内のデータが変更された場合、私の答えはこの質問にあります。このデータを部分的に更新する方法です。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 10:32:56

    アダプターで見つけてください:

    リーリー

    ここで返されたオブジェクトは新しいページであり、fvb の下にボタンを取得できます

    返事
    0
  • キャンセル返事