DropDownMenu的默认选中无效

本文详细解析了在项目中使用DropDownMenu框架时遇到的默认选中控件无效问题,并提供了解决方案,通过自定义控件并添加setpos方法来实现控件值的传递,确保控件能在不同页面间保持状态。
compile 'com.github.dongjunkun:DropDownMenu:1.0.4'

项目引用该框架的,在默认选中控件无效,下可以在自定义一个控件  extends DropDownMenu,然后在里面添加一个方法

public void setpos(int current_tab_position){
    this.current_tab_position=current_tab_position;
}

为什么这么写主要,是我们setTabText(text)的源码是:

 

public void setTabText(String text) {
    if(this.current_tab_position != -1) {
        ((TextView)this.tabMenuView.getChildAt(this.current_tab_position)).setText(text);
    }

}

不拿控件去监听无法传入current_tab_position值,它会默认-1,就不执行下去,所以要那个控件改变值需要传值。

 

 

至于第二个  mDropDownMenu.setpos(2);设置   2  因为我要改变的控件是父类的第三个孩子。

你是这么选择的,如图:

 

 

 

 

那么滑动到别的页面,你再回来还是这个值和这些数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值