You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android ListView校验出勤字段后跳转页面问题求助

没问题,我来帮你搞定这个出勤校验的需求!

解决方案:出勤字段全量校验后再允许跳转

核心思路很简单:在跳转按钮的点击事件里,先遍历所有列表项的attendance字段,确认没有空值或null后才执行跳转,否则提示用户补全出勤标记。

具体修改步骤:

  1. 在跳转按钮的onClick方法中,新增校验逻辑,遍历你填充适配器的数据源(也就是addas列表)。
  2. 一旦发现任意一项的attendance为空或null,就标记校验不通过并终止遍历。
  3. 只有所有项都通过校验,才允许跳转到下一个Activity;否则弹出提示阻止跳转。

修改后的跳转代码:

next.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
        // 标记是否所有出勤都已填写完整
        boolean allAttendanceFilled = true;
        
        // 遍历适配器数据源,逐个检查出勤字段
        for (DetailsTeacherwebservice detail : addas) {
            String attendance = detail.getAttendance();
            // 校验:空字符串、纯空格、null都算未填写
            if (attendance == null || attendance.trim().isEmpty()) {
                allAttendanceFilled = false;
                break; // 发现未填写项就停止遍历,提升效率
            }
        }
        
        if (allAttendanceFilled) {
            // 所有出勤都已填写,执行页面跳转
            Intent view_order_intent = new Intent(TeacherWebserviceMainList.this, M_TeacherPresenceList.class); 
            startActivity(view_order_intent); 
            finish(); 
        } else {
            // 提示用户补全出勤标记
            Toast.makeText(TeacherWebserviceMainList.this, "请完成所有教师的出勤标记后再跳转!", Toast.LENGTH_SHORT).show();
        }
    } 
});

补充优化建议:

  • 如果你不想用Toast提示,也可以换成更醒目的AlertDialog:
    new AlertDialog.Builder(TeacherWebserviceMainList.this)
        .setTitle("提示")
        .setMessage("还有教师的出勤标记未完成,请补全后再操作!")
        .setPositiveButton("我知道了", null)
        .show();
    
  • 如果你更习惯用原始的teacherList做校验,把遍历对象换成teacherList即可,逻辑完全一致:
    for (Teacher teacherItem : teacherList) {
        String attendance = teacherItem.getAttendance();
        if (attendance == null || attendance.trim().isEmpty()) {
            allAttendanceFilled = false;
            break;
        }
    }
    

这样就能实现你要的强制校验效果,只有所有出勤字段都填写完毕,用户才能跳转到下一个页面~

内容的提问来源于stack exchange,提问作者user8259253

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:42:05