您的位置:首页 > 移动开发 > Android开发

AndroidStudio 实践中碰到的坑

2020-06-27 04:38 796 查看

今天在做某项目“我的”模块时碰到了一个坑。不是大问题,发出来和大家分享分享,也是一件挺好玩的事情。

现在咱们进入正题:
怎么个情况呢?在“我的”页面 有一个大布局,大布局中有个小控件
这两个都有与之相对应的点击事件
但是当写好之后run起来发现,点击小控件 会同时跳转两个页面

并且页面重叠显示,优先显示的是大布局的跳转页面。这样光说不太好理解,上张图就了解了。

/**
* 点击事件分发
*
* @param view
*/
@OnClick({R.id.frg_mine_setting, R.id.frg_mine_grid_my_appointment, R.id.frg_mine_grid_my_measuring_room
, R.id.frg_mine_grid_owner, R.id.frg_mine_authentication, R.id.frg_mine_userdata_layout})
public void onViewClicked(View view) {
//防止多次点击
if (ClickUtil.isNoCanClick()) return;
switch (view.getId()) {
//头像布局
case R.id.frg_mine_userdata_layout:
isLogingMF(LoginActivity.class, MyDataActivity.class);
break;
//            我的设置
case R.id.frg_mine_setting:
//                Toast.makeText(mContext, "正在前往设置..", Toast.LENGTH_SHORT).show();
isLogingMF(LoginActivity.class, MySetActivity.class);
break;
//我的预约
case R.id.frg_mine_grid_my_appointment:
gotoActivity(MyHouseXqActivity.class);
break;
//我是业主
case R.id.frg_mine_grid_owner:
ToastUtil.TextToast("开发中,敬请期待");
break;
//我的量房
case R.id.frg_mine_grid_my_measuring_room:
gotoActivity(MyHouseActivity.class);
break;
//实名认证
case R.id.frg_mine_authentication:
//实名认证点击时 头像布局失去焦点

//认证状态判断mAutStatus = 3;//0认证中 1成功 2失败 3未认证
if (UserBiz.getLoginState()) {
switch (mAutus) {
case 0:
Bundle bundle = new Bundle();
//                        bundle = AuthenticationStatusActivity.getBundle(AutActivity.STATUS_ING);
gotoActivity(MyShenHeActivity.class);
break;
case 1:
gotoActivity(ShenHeSuccessActivity.class);
break;
case 2:
gotoActivity(ShenHeFailActivity.class);
break;
case 3:
gotoActivity(MyRealNameActivity.class);
break;
}
}

default:
break;
}
}

此时,我要点击去实名认证。按照逻辑他将会直接前往认证页面。
而事实是我点击之后 直接给我跳转了两个页面 并且重叠在一起。

在观察了布局文件与Fragment页面后,我尝试着将大布局的点击事件移动到第一个,小控件点击事件移动到最后。

竟然就好了,没想到点击事件也会有优先级 虽然不是什么大问题
没有什么技术含量 但是我还是决定分享出来 工作之余放松放松也是好的…

我是一个刚接触Android没多久的小白白 一直在学习的路上努力
奥利给

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: